跳到正文
>_ITDITDWeb 安全平台

威胁动态

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。本文以防御视角、隐去攻击手法,讲解会发生什么、影响范围,以及应立即采取的对策(更新・反序列化原则・扩展清点)。

发布于 2026-06-08 2 分钟阅读

这是一篇针对已确认被实际利用(收录于 CISA KEV)漏洞的速报解析。本文以防御视角、隐去攻击的复现步骤,梳理会发生什么、影响范围与对策。

速报摘要 — ADVISORY
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 及以上
9.3
CVSS / 最糟一类
免认证
触发条件
RCE
可达成的影响
更新即解除
真正的封堵

放任不管的危险程度

由于无需认证即可导致 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

将扩展更新到 1.11.12 及以上(最优先・首选)

将对象扩展更新到最新版。这是真正封堵 RCE 的唯一首选。更新后,确认正在运行的实际版本。
2

更新前的争取时间(多层防御)

如果无法立即更新,就用对相关功能端点的访问限制(IP 白名单・基本认证・切断到达路径)或 WAF 临时降低受攻击面。这终究只是争取时间。
3

确认是否已被入侵

考虑到更新前可能已被到达,检查可疑文件・定时任务・外部通信・管理员账户的增减。对待 RCE 时应按「环境变量与整个数据库已泄露」为前提处理。
4

扩展清点+CVE 机器化监控

清点已安装的扩展与依赖,用机器(Dependabot / osv-scanner 等)监控 CVE。从结构上杜绝「人工漏看已公开的已知 CVE 而放任不管」。

本站的观点:反序列化要「靠设计消除」

这类漏洞不会消失。原因是「因为方便,就把外部输入直接还原了」。本站的立场很明确,即不要制造出对不可信数据执行 unserialize 的场景。外部输入要用 json_decode仅作为数据来接收,不用于还原对象。这样一来,这一类漏洞就在设计阶段从结构上被消除了

接着阅读

FAQ

QCVE-2026-45247 会发生什么?
A

未经认证的攻击者可以在装有该扩展的 Magento 站点上执行任意代码(RCE)。这会直接导致站点被篡改、信息被窃取、成为攻入其他系统的跳板,是最糟一类的漏洞。

Q最可靠的对策是什么?
A

将扩展「Mirasvit Full Page Cache Warmer for Magento 2」更新到 1.11.12 及以上。更新才是真正的封堵,配置变更和 WAF 只能作为更新前的争取时间与多层防御并用。

Q什么是 PHP 对象注入?
A

它是一种把不可信输入直接反序列化(如 `unserialize` 等)、从而让攻击者预设的对象被创建出来,进而连锁触发本不应执行的处理的漏洞(CWE-502)。本质性的防御是「不要对不可信数据进行反序列化」。