漏洞編號: CVE-2026-109618、CVE-2026-109619
嚴重程度: Critical(CVSS v4.0:9.2)
影響: 未經驗證遠端程式碼執行(Pre-auth RCE)、記憶體資訊洩漏

1. 漏洞技術原理

CVE-2026-109618:OOM Memory Corruption

  • 根因: PHP 在 Out-of-Memory(OOM)異常處理期間,內部 Request 資料可能只完成部分初始化。
  • 觸發: 特製 HTTP Request 導致記憶體配置失敗,隨後進入錯誤清理流程。
  • 缺陷: Cleanup Routine 將尚未正確初始化的資料視為有效物件操作。
  • 影響: Memory Corruption,特定情況下可進一步造成 RCE。

CVE-2026-109619:Use-After-Free(UAF)

  • 根因: PHP Request 結束後,部分 Global State 仍保留指向已釋放記憶體的指標。
  • 觸發: 後續 HTTP Request 由相同 PHP Worker 處理時,存取殘留指標。
  • 缺陷: Request State 未完整重設,造成跨 Request 的 Use-After-Free。
  • 影響: Memory Disclosure、Memory Corruption,甚至 RCE。

2. 攻擊路徑

Unauthenticated HTTP Request
           |
           v
 Crafted multipart/form-data
           |
           v
 PHP Request Parser
           |
           +--> OOM / Partial Initialization
           |             |
           |             v
           |       Invalid Cleanup
           |
           +--> Stale Global State
                         |
                         v
                  Use-After-Free
                         |
                         v
                 Memory Corruption
                         |
                         v
               Information Leak / RCE

漏洞存在於 PHP Runtime,而非 WordPress 應用程式本身。部分攻擊路徑可在 PHP 應用程式碼執行前觸發,因此無須 WordPress 登入權限。

實際可利用性取決於 PHP SAPI、記憶體配置狀態與伺服器設定,並非每個環境都能透過相同請求成功執行 RCE。

3. 受影響元件與版本

受影響執行環境: PHP-FPM、Apache mod_php、php-cgi、FrankenPHP、LiteSpeed。

PHP 分支安全修補版本
8.58.5.12
8.48.4.27
8.38.3.36
8.28.2.35
8.1 以下EOL,需確認供應商 Backport

PHP 7.4.33 同樣需要處理。部分供應商已有回補修補,但版本號可能保持不變,因此不能只透過 php -v 判斷是否已修補。

4. 技術防護與修復建議

  1. Patch: 立即更新至安全版本,或套用經確認的 Vendor Backport。
  2. Runtime: 更新後重新啟動 PHP Worker,避免舊版程序繼續運行。
  3. Detection: 檢查異常 multipart/form-data Request、PHP Worker Crash、OOM 與 Segmentation Fault。
  4. Hardening: 限制 PHP Worker 權限,隔離網站程序與敏感資料。
  5. Mitigation: WAF、Rate Limit、限制上傳功能可降低部分攻擊面,但不能替代安全修補。

5. 技術結論

本次 PHP2Shell 的核心問題是 PHP Runtime 的記憶體生命週期管理缺陷:

  • CVE-2026-109618:OOM 異常處理造成無效記憶體狀態。
  • CVE-2026-109619:跨 Request 的 Stale Pointer 導致 Use-After-Free。

由於漏洞可能在應用程式執行前觸發,單純更新 WordPress 或外掛並不足以修復問題。必須更新 PHP Runtime 本身。

最後修改日期: 24 10 月, 2026

作者

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。