當身份驗證失敗時,情況可能會變得非常、非常糟糕。

微軟為其 ASP.NET Core 發布了緊急補丁,以修補一個允許未經身份驗證的攻擊者在運行 Linux 或 macOS 應用程式的設備上獲得 SYSTEM 權限的高嚴重性漏洞。

該軟體製造商週二晚間表示,此漏洞(追蹤代碼為 CVE-2026-40372)影響了 Microsoft.AspNetCore.DataProtection NuGet 套件的版本 10.0.0 至 10.0.6,該套件是該框架的一部分。這個關鍵缺陷源於加密簽名的驗證錯誤。它可能被利用來允許未經身份驗證的攻擊者在 HMAC 驗證過程中偽造身份驗證載荷,HMAC 驗證用於驗證客戶端和伺服器之間交換數據的完整性和真實性。

在用戶運行該套件的易受攻擊版本期間,他們可能會遭受攻擊,允許未經身份驗證的人獲得敏感的 SYSTEM 權限,從而完全控制底層機器。即使漏洞被修補後,如果威脅行為者創建的身份驗證憑證沒有被清除,設備仍可能被入侵。

微軟表示:「如果攻擊者在易受攻擊的窗口期內使用偽造的載荷以特權用戶身份進行身份驗證,他們可能會誘導應用程式向自己發出合法簽名的令牌(會話刷新、API 金鑰、密碼重置連結等)。」 「除非 DataProtection 金鑰環被輪換,否則這些令牌在升級到 10.0.7 後仍然有效。」

微軟將 ASP.NET Core 描述為一個「高性能」的 Web 開發框架,用於編寫可在 Windows、macOS、Linux 和 Docker 上運行的 .Net 應用程式。這個開源套件「旨在讓運行時組件、API、編譯器和語言能夠快速演進,同時仍提供一個穩定且受支援的平台來保持應用程式運行。」

上週,微軟更新了該套件。在調查有關使用新版本時應用程式解密失敗的報告時,該公司發現了一個回歸錯誤,該錯誤允許受管理的已驗證加密器「對載荷的錯誤字節計算其 HMAC 驗證標籤,然後丟棄計算出的哈希,這可能導致權限提升」,微軟表示。CVE-2026-40372 的最高嚴重性評分為 10 分中的 9.1 分。

微軟建議:「如果您的應用程式使用 ASP.NET Core Data Protection,請盡快將 Microsoft.AspNetCore.DataProtection 套件更新至 10.0.7 版本,以解決解密回歸和安全漏洞。」

受影響的用戶主要是那些在 macOS、Linux 或任何其他非 Windows 操作系統上運行時加載了版本 10.0.6 的用戶。當應用程式 (1) 未以 Microsoft.NET.Sdk.Web 為目標,或 (2) 直接或間接引用了 Microsoft.AspNetCore.App 框架,並且用戶沒有選擇退出 PrunePackageReference(在 .NET 10 中預設啟用)時,就會發生這種情況。

當他們的非 Windows 應用程式或庫 (1) 使用了任何易受攻擊的版本並引用了 Microsoft.AspNetCore.DataProtection 的版本,並且 (2) 構建使用了易受攻擊套件的 net462 或 netstandard2.0 目標框架資產時,一小部分用戶會受到影響。Windows 應用程式不受影響,因為 DataProtection 預設使用不包含該錯誤的加密器。

如前所述,更新只是補救過程的第一步。如果用戶的應用程式在使用易受攻擊的版本時暴露了 Internet 端點,他們還應該輪換 DataProtection 金鑰環。該公司建議受影響的用戶審查在此期間可能創建的應用程式級別的長期存留工件。這些工件將在金鑰輪換後仍然存在,必須在應用程式層進行輪換。

微軟在此提供了更詳細的說明。