微軟 (Microsoft) 近期揭露了一項存在於 ASP.NET Core Kestrel 網頁伺服器中的嚴重漏洞,編號為 CVE-2025-55315。此漏洞源於對 HTTP 請求的不一致解讀(Inconsistent Interpretation of HTTP Requests),俗稱「HTTP 請求走私」(HTTP Request Smuggling)。
根據微軟提供的 CVSS 3.1 評分,此漏洞的嚴重性高達 9.9 分(CRITICAL)。一名具備低權限 (Low Privilege) 的攻擊者可透過網路觸發此漏洞,繞過安全功能,進而導致機密性、完整性受到高度威脅。
漏洞細節與影響
此漏洞的核心問題在於 ASP.NET Core 的 Kestrel 網頁伺服器,在解析傳入的 HTTP 請求標頭 (Request Header) 時,其檢查邏輯不夠周全。
當 Kestrel 部署於反向代理(Reverse Proxy)或負載平衡器(Load Balancer)後方時,攻擊者可以發送一個特製的 HTTP 請求。由於前端代理與後端 Kestrel 伺服器對於 HTTP 規範(特別是 Content-Length 和 Transfer-Encoding 標頭)的解讀可能存在差異,導致攻擊者能夠「走私」一個惡意的、隱藏的 HTTP 請求,夾帶在一個看似正常的請求中。

這個被走私的請求將繞過前端代理(如 WAF,網路應用程式防火牆)的安全檢查,並被後端的 Kestrel 伺服器視為一個獨立的、合法的請求來處理。一般來說,雲端版本的 WAF 如著名的是 CloudFlare WAF,或其他硬體版本的 WAF ,在這種特殊攻擊情境下,規則如果沒有另外針對這部分做處理,是有機會被繞過的。
潛在衝擊與說明
根據美國國家漏洞資料庫 (NIST NVD) 和微軟的分析,此漏洞的 CVSS 向量為 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:L。
AV:N (網路攻擊):攻擊者可從遠端網路發動攻擊。
AC:L (低複雜度):利用此漏洞的技術門檻低。
PR:L (低權限):攻擊者需要具備低層級的授權(例如一個普通用戶帳號)。
S:C (範疇變更):漏洞的影響超越了應用程式本身,可能危及伺服器或後端其他元件。
C:H (高機密性影響):可竊取機密資料、取得使用者登入憑證。
I:H (高完整性影響):可竄改系統檔案或資料庫內容。
A:L (低可用性影響):可能導致部分服務阻斷 (DoS)。
整體而言,最壞情況下,攻擊者可能繞過身份驗證機制、存取未經授權的端點、竊取敏感資訊或執行惡意操作。
受影響的微軟軟體版本
根據 NVD 和微軟的公告,以下為已知受影響的產品版本:
ASP.NET Core:
2.3.0 至 (不含) 2.3.6
8.0.0 至 (不含) 8.0.21
9.0.0 至 (不含) 9.0.10
Microsoft Visual Studio 2022:
17.10.0 至 (不含) 17.10.20
17.12.10 至 (不含) 17.12.13
17.14.0 至 (不含) 17.14.17
值得注意的是,已終止支援 (EOL) 的版本(如 .NET 3.1 或 .NET 6)可能也存在此漏洞,但微軟可能不會針對 EOL 產品發布安全更新。
緩解措施與建議
微軟已針對此漏洞發布安全更新,可以從這邊下載與看詳細說明。強烈建議所有使用受影響版本的開發者和系統管理員,立即採取下列行動:
.NET Runtime 與 SDK更新:
若使用 .NET 8 或 .NET 9,請立即透過 Microsoft Update 或手動下載安裝最新的 .NET 更新(應分別更新至 8.0.21、9.0.10 或更高版本),並重新啟動您的應用程式。
若使用 ASP.NET Core 2.3,必須將 Microsoft.AspNet.Server.Kestrel.Core NuGet 套件更新至 2.3.6 版本,然後重新編譯並重新部署您的應用程式。
自我包含 (Self-Contained) 應用程式:
如果現階段伺服器上使用的應用程式是編譯為「自我包含」模式,必須更新 .NET SDK、重新編譯應用程式並重新部署,以確保執行階段 (Runtime) 包含已修補的版本。
Visual Studio 更新:
開發人員應將 Visual Studio 2022 更新至 17.10.20、17.12.13 或 17.14.17 以上版本。
驗證修補:
管理員可在伺服器上執行 dotnet –info 指令,檢查 Microsoft.AspNetCore.App 的版本是否已升級至安全的版本 (2.3.6, 8.0.21, 9.0.10+)。
若使用 Docker 容器部署,應確保基礎映像檔 (Base Image) 已更新(例如 mcr.microsoft.com/dotnet/aspnet:8.0),並重新建置 (Rebuild) 容器。
本為題圖由 Google Gemini AI 生成,配圖由 Perplexity AI 生成












