威脅情報
CVE-2026-45247 — Magento 擴充套件的 PHP 物件注入導致免認證 RCE(解析與對策)
CVE-2026-45247 是 Magento 2 擴充套件「Mirasvit Full Page Cache Warmer」1.11.12 以下版本中存在的 PHP 物件注入(對不可信資料進行反序列化・CWE-502)漏洞。無需認證即可導致遠端程式碼執行(RCE),CVSS 為 9.3。本文以防禦視角、隱去攻擊手法,講解會發生什麼、影響範圍,以及應立即採取的對策(更新・反序列化原則・擴充套件清點)。
這是一篇針對已確認被實際利用(收錄於 CISA KEV)漏洞的速報解析。本文以防禦視角、隱去攻擊的重現步驟,梳理會發生什麼、影響範圍與對策。
- CVE
- CVE-2026-45247
- 嚴重度
- Critical(CVSS 9.3 / v4.0)
- 類別
- PHP 物件注入(對不可信資料進行反序列化・CWE-502)
- 影響
- 無需認證即可遠端程式碼執行(RCE)
- 對象
- Mirasvit Full Page Cache Warmer for Magento 2 — 1.11.12 以下
- 首選對策
- 更新到 1.11.12 及以上
放任不管的危險程度
由於無需認證即可導致 RCE,它是無差別掃描的絕佳目標(正因如此才被收錄進 KEV)。「我們站點很小不會被盯上」並不成立。掃描器會機械地把整個網際網路掃一遍。
這是什麼樣的漏洞(PHP 物件注入)
PHP 中有把資料轉成字串的 serialize,以及把它還原的 unserialize。如果把不可信輸入直接 unserialize,攻擊者就能傳入「一旦被還原就會引發不良副作用的物件」。在還原的過程中(魔術方法等),本不應執行的處理被連鎖觸發,最終一路到達程式碼執行——這就是 PHP 物件注入(CWE-502)。
✗ 還原不可信輸入
外部輸入 → 用 unserialize 還原為物件 → 還原處理連鎖觸發 → 程式碼執行
✓ 當作值來處理
外部輸入只用 JSON 等作為資料來接收 → 不還原成物件
本次的對象是 Magento 2 的快取加速擴充套件。攻擊者無需經過認證即可到達,CVSS 被評為 9.3,屬最糟一類。
影響範圍
| 項目 | 內容 |
|---|---|
| 對象擴充套件 | Mirasvit Full Page Cache Warmer for Magento 2 |
| 受影響的版本 | 1.11.12 以下 |
| 修復版本 | 1.11.12 及以上 |
| 前提條件 | 無需認證(unauthenticated) |
| 可達成的影響 | 遠端程式碼執行(RCE) |
對策
將擴充套件更新到 1.11.12 及以上(最優先・首選)
更新前的爭取時間(多層防禦)
確認是否已被入侵
擴充套件清點+CVE 機器化監控
本站的觀點:反序列化要「靠設計消除」
這類漏洞不會消失。原因是「因為方便,就把外部輸入直接還原了」。本站的立場很明確,即不要製造出對不可信資料執行 unserialize 的場景。外部輸入要用 json_decode 等僅作為資料來接收,不用於還原物件。這樣一來,這一類漏洞就在設計階段從結構上被消除了。
接著閱讀
- 術語:什麼是 RCE(遠端程式碼執行) / 什麼是 CVE / 什麼是 CVSS
- 速報一覽:漏洞速報
FAQ
QCVE-2026-45247 會發生什麼?
未經認證的攻擊者可以在裝有該擴充套件的 Magento 站點上執行任意程式碼(RCE)。這會直接導致站點被竄改、資訊被竊取、成為攻入其他系統的跳板,是最糟一類的漏洞。
Q最可靠的對策是什麼?
將擴充套件「Mirasvit Full Page Cache Warmer for Magento 2」更新到 1.11.12 及以上。更新才是真正的封堵,設定變更和 WAF 只能作為更新前的爭取時間與多層防禦並用。
Q什麼是 PHP 物件注入?
它是一種把不可信輸入直接反序列化(如 `unserialize` 等)、從而讓攻擊者預設的物件被建立出來,進而連鎖觸發本不應執行的處理的漏洞(CWE-502)。本質性的防禦是「不要對不可信資料進行反序列化」。