威胁动态
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)。本质性的防御是「不要对不可信数据进行反序列化」。