Sitecore 零日漏洞可讓攻擊者遠(yuǎn)程執(zhí)行代碼
近日披露的 Sitecore 體驗平臺關(guān)鍵漏洞(CVE-2025-27218)允許未經(jīng)身份驗證的攻擊者在未打補(bǔ)丁的系統(tǒng)上執(zhí)行任意代碼。該漏洞源于不安全的數(shù)據(jù)反序列化操作,影響Sitecore 體驗管理器(XM)和體驗平臺(XP)8.2至10.4版本,這些版本在安裝補(bǔ)丁KB1002844之前均存在風(fēng)險。
安全公司Assetnote發(fā)現(xiàn)了這一漏洞,該漏洞利用了Sitecore對已棄用的BinaryFormatter類的錯誤使用,從而繞過身份驗證檢查并部署惡意負(fù)載。
Sitecore 零日漏洞的技術(shù)細(xì)節(jié)
該漏洞位于MachineKeyTokenService.IsTokenValid方法中,該方法使用Convert.Base64ToObject對ThumbnailsAccessToken HTTP頭中的不受信任數(shù)據(jù)進(jìn)行反序列化。關(guān)鍵問題在于,反序列化操作發(fā)生在解密之前,這使得攻擊者能夠直接將精心構(gòu)造的負(fù)載注入到處理流程中。
攻擊者通過使用ysoserial.net等工具生成惡意的序列化對象,并利用WindowsIdentity gadget鏈來執(zhí)行操作系統(tǒng)命令。例如,以下負(fù)載可以創(chuàng)建一個文件以確認(rèn)代碼執(zhí)行:
生成的Base64編碼負(fù)載被插入到ThumbnailsAccessToken頭中。Sitecore的AuthenticateThumbnailsRequest HTTP處理器(屬于httpRequestBegin管道)會在沒有身份驗證檢查的情況下解析該頭,導(dǎo)致立即進(jìn)行反序列化并激活負(fù)載。
漏洞的廣泛影響與風(fēng)險
Sitecore為全球超過12,000個企業(yè)數(shù)字平臺提供支持,因此該漏洞具有系統(tǒng)性風(fēng)險:
- 無需身份驗證的遠(yuǎn)程代碼執(zhí)行(RCE):利用此漏洞無需任何憑證,使得大規(guī)模掃描和攻擊自動化成為可能。
- 完全服務(wù)器控制:成功攻擊將授予IIS APPPOOL\Sitecore權(quán)限,允許橫向移動和數(shù)據(jù)泄露。
- 業(yè)務(wù)中斷:惡意攻擊者可能篡改網(wǎng)站、注入惡意軟件或破壞CMS操作。
Assetnote的分析指出,Sitecore對BinaryFormatter的錯誤實現(xiàn)(微軟已明確警告不應(yīng)使用此類)創(chuàng)造了一個本可避免的攻擊面。Sitecore通過此機(jī)制序列化字節(jié)數(shù)組的行為引入了不必要的風(fēng)險,而解密步驟的順序錯誤則進(jìn)一步加劇了問題。
緩解措施與建議
Sitecore已發(fā)布補(bǔ)丁來修復(fù)CVE-2025-27218,并敦促客戶采取以下措施:
- 立即升級到Sitecore 10.4或應(yīng)用安全補(bǔ)丁。
- 檢查HTTP管道中是否存在未經(jīng)授權(quán)的BinaryFormatter使用。
- 監(jiān)控ThumbnailsAccessToken頭的異?;顒?。
對于無法立即打補(bǔ)丁的組織,微軟建議強(qiáng)制執(zhí)行Serialization Binder限制,或通過運行時配置完全禁用BinaryFormatter。
這一事件凸顯了安全反序列化實踐中的持續(xù)挑戰(zhàn)。盡管自2017年以來,人們對BinaryFormatter的風(fēng)險已有廣泛認(rèn)知,但其在企業(yè)軟件中的持續(xù)使用表明漏洞研究與開發(fā)人員教育之間仍存在差距。截至2025年3月6日,尚未確認(rèn)有野外利用案例,但未打補(bǔ)丁的系統(tǒng)仍面臨嚴(yán)重威脅。使用Sitecore的組織必須優(yōu)先修復(fù)此漏洞,以防大規(guī)模數(shù)據(jù)泄露。