根據 The Hacker News 的報導,微軟 SharePoint 近期出現了一個嚴重的認證繞過漏洞,編號為 CVE-2026-55040。該漏洞的 CVSS 評分高達 9.1 分,屬於危險等級極高的漏洞。由於安全研究機構 Rapid7 近期公開了概念驗證代碼(PoC),導致攻擊者迅速將其轉化為實際攻擊手段,嘗試入侵未修補的 SharePoint 伺服器。
背景與漏洞成因
SharePoint 作為企業內部常用的協作平台,依賴強大的認證機制來確保資料存取權限。而 CVE-2026-55040 的核心問題在於認證功能的失效,具體來說,是發生在 JWT(JSON Web Token,一種用於在各方之間安全傳輸資訊的開放標準格式,通常用於身份驗證)的驗證流程中。
當使用者或服務嘗試存取 SharePoint 時,系統會檢查其攜帶的 Token 是否合法。然而,Rapid7 的研究發現,SharePoint 在處理 Bearer S2S(Service-to-Service,服務對服務)Token 的解析與驗證邏輯中存在缺陷。具體問題出在 SPJsonWebSecurityTokenHandlerV2 與 SPJsonWebSecurityBaseTokenHandlerV2 這兩個負責 Token 處理的類別中。攻擊者利用這兩個類別中的多個邏輯漏洞,可以繞過正常的身份驗證流程,偽裝成任何 SharePoint 站台使用者,甚至是具備最高權限的系統管理員。
技術運作方式
這次的攻擊路徑並非單一漏洞,而是將四個不同的弱點串聯起來形成完整的攻擊鏈。攻擊者首先發送一個特殊的 JWT,在其外部標頭(Outer Header)中將演算法設定為 none。在 JWT 標準中,alg: none 表示該 Token 不需要數位簽章,這使得攻擊者可以跳過簽章驗證。
接著,攻擊者在 Token 的 x5t 標頭中填入 SharePoint 自身的 STS(Security Token Service,安全權杖服務,負責發行與驗證權杖的系統)憑證指紋。由於系統在解析時未能正確驗證簽署金鑰,導致即使憑證不在受信任的服務清單中,系統依然接受了該發行者。最後,攻擊者在簽章欄位填入任意非空值(例如 AAAA),而系統在驗證過程中完全忽略了對此簽章的檢查。
透過這套流程,攻擊者能夠偽造一個被系統視為有效的 JWT。在 Rapid7 提供的 Python 概念驗證代碼中,攻擊者甚至能進一步查詢目標的網域控制器(Domain Controller),透過 SID(Security Identifier,安全性識別碼,Windows 用於唯一識別使用者或群組的字串)列舉使用者,並自動定位管理員的 SID,從而精準地偽裝成管理員身份。
實務影響與攻擊現況
一旦攻擊成功,未經認證的遠端攻擊者即可在受影響的 SharePoint 伺服器上執行任意操作。這包括讀取機密文件、修改伺服器上的數據,以及獲取對整個站台的控制權。雖然微軟指出此漏洞不會直接影響系統的可用性(即不會導致系統崩潰或停止服務),但對於資料完整性與機密性的威脅極其嚴重。
監控數據顯示,自 2026 年 7 月 19 日起,已有 12 次利用此漏洞的攻擊嘗試被記錄。值得注意的是,其中 8 次集中在 8 月 12 日與 13 日,這與 Rapid7 公開 PoC 的時間點高度重合,證明了公開的漏洞證明代碼會顯著加速攻擊者的行動。目前的攻擊來源分佈在香港、日本、荷蘭、台灣及美國等五個國家與地區。
限制與防禦建議
儘管此漏洞威脅巨大,但其利用前提是伺服器尚未安裝微軟於 2026 年 7 月 Patch Tuesday(微軟每月定期發布的安全更新日)所提供的修補程式。只要及時更新 SharePoint 實例,即可封堵此漏洞。
對於企業管理員而言,此事件再次強調了漏洞管理與補丁更新的急迫性。當高風險漏洞的 PoC 被公開後,攻擊者通常會在極短時間內將其自動化並展開大規模掃描。因此,建立快速的更新機制以及監控異常的 JWT 認證請求,是防禦此類身份偽造攻擊的關鍵。
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。