作者:默思編輯部 發布:2026-07-17
CVE-2026-48710 是 2026 年 Python Web 生態系裡最受關注的資安事件之一——問題出在 Starlette(一套輕量級 ASGI 框架,也是 FastAPI 底層直接依賴的核心元件)對 Host 標頭(HTTP 請求裡標示目標主機名稱的欄位)缺乏足夠的輸入清理(input sanitization),導致攻擊者只需要送出一個帶有畸形字元的 Host 標頭,就能繞過主機驗證(host-validation)保護機制,達成身份驗證繞過(authentication bypass)。
由於 FastAPI(目前最受歡迎的 Python API 框架之一,被大量用於建構一般 Web 服務,也被廣泛用於建構 AI 代理系統的後端)直接建立在 Starlette 之上,這個漏洞的實際影響範圍,涵蓋了大量的 Python LLM 基礎設施——研究人員形容這是「單一字元,就足以繞過驗證,波及一大片 Python LLM 基礎設施」。考慮到 2026 年有這麼多 AI 代理系統(agentic AI)是用 FastAPI 打造後端服務,這個漏洞的潛在影響面相當可觀。
研究人員建議所有受影響的團隊,升級到 Starlette 1.0.1 以上版本——修補後的版本會正確驗證 Host 標頭並拒絕畸形數值。針對想要快速確認自己系統是否受影響的團隊,也有免費的線上掃描工具(badhost.org)可以協助檢測。
這起事件是一個很好的案例,說明「相依套件的安全性,就是你自己系統的安全性」——多數開發者在用 FastAPI 開發服務時,不會特別意識到自己其實也直接暴露在 Starlette 這一層的安全風險之下,因為 Starlette 通常是被 FastAPI 隱性帶入,很少被開發者直接視為需要主動關注的相依套件。這也呼應了前面提到的 PyPI 供應鏈攻擊事件——現代軟體開發高度仰賴分層的相依套件生態系,任何一層出現安全問題,都可能沿著相依鏈往上波及所有建立在它之上的專案。
如果你的專案使用 FastAPI(不管是一般 Web 服務、或是 AI 代理系統的後端),建議立刻檢查目前使用的 Starlette 版本,確認是否已經升級到修補後的版本。更長期的實務習慣是:定期檢查專案相依套件清單裡,是否有已知的安全公告,不要只關注自己直接引用的框架,也要留意這些框架自身的底層相依套件——這類「間接相依」(transitive dependency)的安全風險,往往比直接相依更容易被忽略。