WordPress安全公司Patchstack於10月8日指出,WordPress外掛Bricksforge的重大漏洞
CVE-2026-85097已遭駭客在實際環境中利用。該漏洞允許未經驗證的攻擊者上傳並執行任意PHP程式碼,達成遠端程式碼執行(RCE)。Patchstack將其評為通用漏洞評分系統(CVSS)10.0的滿分,並表示最早於台灣時間2026年10月8日上午5時47分偵測到攻擊。
受影響版本與修補狀況
Bricksforge是為網站建置工具Bricks設計的WordPress外掛,提供進階表單、動畫、動態資料管理與後台客製化等功能。
受影響版本為3.1.8.9(含)以前。
在修補版本上,Patchstack指出3.1.8.10版已修補此漏洞。Bricksforge官方更新日誌則顯示,10月8日釋出的4.0.1版修補了Pro Forms檔案上傳的安全問題,並說明所有啟用Pro Forms的網站都受影響,即使表單沒有上傳欄位也一樣。官方日誌未提及CVE編號,並表示完整細節待揭露程序結束後公布。
驗證機制出現落差
Patchstack指出,Bricksforge在檔案首次上傳時會驗證MIME類型(MIME type),但表單送出時卻直接信任用戶端傳來的檔案中繼資料。其中,「temporaryFileUploads」參數內的「url」欄位完全未經驗證。
攻擊者可先透過未經驗證的AJAX端點取得有效的nonce(一次性驗證碼),再上傳一個同時是有效圖片、又夾帶PHP程式碼的GIF/PHP多重格式檔案(polyglot)。該檔案能通過MIME檢查,進入暫存上傳目錄。
接著,攻擊者送出表單,讓「file」路徑指向通過檢查的圖片,「url」卻以PHP副檔名結尾。外掛會把檔案內容寫入該PHP路徑,檔案一旦被請求,內嵌的程式碼就會執行。CVE紀錄中由Wordfence撰寫的描述,也記載了相同的攻擊流程。
攻擊活動呈自動化特徵
Patchstack觀察到,除一筆請求外,其餘攻擊都鎖定REST API表單提交端點「
/wp-json/bricksforge/v1/form_submit」,另一筆則打向「
/wp-admin/admin-ajax.php」。每筆請求都帶有特製的「temporaryFileUploads」參數,其中95%的伺服器端路徑以.gif或.png結尾。
為繞過副檔名過濾,攻擊者嘗試.php5、.phtml等替代副檔名,也採用大小寫混用與URL編碼的副檔名。多數酬載把檔案寫入Bricksforge暫存目錄,部分則使用「login_admin_*.php」這類檔名,將PHP檔案放進WordPress一般上傳目錄。
遙測資料顯示,攻擊來自63個不同來源IP,其中6個IP約佔全部請求的46%。第一組有44個IP,在數秒內送出56個內容相同的請求。第二組有3個IP,針對同一暫存檔測試了25種PHP副檔名與編碼變體。Patchstack認為,這兩種模式都顯示攻擊者透過輪替代理或分散式基礎設施進行自動化攻擊,但這些資料本身不足以將活動歸因於單一攻擊者。
攻擊一旦成功,攻擊者可部署Web Shell、修改網站內容、讀取敏感資料,並建立持續存取管道。
管理者應採取的因應措施
- 將Bricksforge更新至已修補版本,建議以官方最新版本(4.0.1)為準,不要停留在3.1.8.9(含)以前的版本
- 稽核傳入「/wp-json/bricksforge/v1/form_submit」且帶有「temporaryFileUploads」參數的請求
- 檢查是否有圖片路徑搭配PHP目的網址的上傳資料,以及重複循環測試副檔名、編碼或大小寫的表單提交
- 檢查「/wp-content/uploads/bricksforge/tmp/」及其他上傳目錄,是否出現非預期的PHP檔案,特別是「login_admin_*.php」
- 若曾運行受影響版本且無防護,應回溯檢視歷史日誌與主機上的異常檔案
- 比對日誌中是否出現下列主要來源IP:177.75.57[.]20、23.97.62[.]146、84.247.60[.]125、38.154.185[.]97、150.109.16[.]166、153.75.90[.]146
本文轉載自 TheHackerNews。