近日,科技安全領域傳來一則引人關注的消息:一款廣受歡迎的WordPress緩存插件W3 Total Cache陷入了嚴重的安全危機。該插件在全球范圍內擁有超過100萬的安裝量,然而卻因CVE-2025-9501漏洞問題,連續三次發布的補丁均未能有效解決問題,引發了廣泛擔憂。
W3 Total Cache作為主流的WordPress緩存插件,其設計初衷是為了提升動態頁面的加載效率。然而,近期研究人員發現,該插件處理動態內容的機制存在嚴重缺陷,為黑客留下了可乘之機。具體來說,插件中的_parse_dynamic_mfunc函數使用了PHP的eval函數來執行緩存頁面評論中嵌入的代碼,這一設計雖有其便利性,但同時也為攻擊者打開了后門。只要攻擊者能在評論中注入特定代碼,插件就會將其視為合法指令并直接執行,從而可能導致網站被惡意控制。
最初,研究人員“wcraft”向WPScan披露了這一漏洞,指出它影響2.8.13版本之前的所有版本,并根據CVSS評分系統將其評為“嚴重”級別,評分為9.0。面對這一嚴峻形勢,插件廠商迅速行動,連續發布了三個補丁版本進行修復。然而,修復過程卻并不順利,被研究人員形容為“安全馬戲團”。
在2.8.13版本中,廠商試圖通過str_replace函數移除惡意標簽,但這一方法邏輯簡單且存在漏洞。攻擊者只需將安全令牌進行嵌套構造,如“rcercesecsec”,當程序剔除中間的“rcesec”后,剩余字符會自動重組為有效令牌,從而繞過防御。隨后發布的2.8.14版本雖然增加了更多檢查,但漏洞依然存在。而2.8.15版本則試圖通過檢測標簽后的空格來攔截攻擊,卻忽視了原代碼允許“零空格”的特性,導致攻擊者只需刪除標簽與令牌間的空格即可再次穿透防線。
盡管漏洞利用看似簡單,但攻擊者仍需滿足三個特定條件才能成功實施攻擊:首先,必須獲取管理員配置的W3TC_DYNAMIC_SECURITY安全令牌;其次,網站必須允許未登錄用戶發布評論;最后,頁面緩存功能必須處于開啟狀態。雖然這些條件在一定程度上限制了攻擊面,但在龐大的用戶基數下,符合條件的受害者數量依然不容小覷。
鑒于補丁屢修屢破的現狀,單純依賴更新已不足以確保網站安全。安全專家建議,管理員在升級至最新版本的同時,必須立即審計W3TC_DYNAMIC_SECURITY常量的唯一性,確保其未被泄露。為了進一步降低風險,安全公司還建議暫時限制未驗證用戶的評論權限,并重點審查近期評論日志,排查是否存在異常代碼注入痕跡。這一系列措施旨在幫助管理員及時發現并應對潛在的安全威脅,保障網站的安全穩定運行。












