
إعادة إنتاج cve-2025-0282-ivanti_rce_reproduction
CVSS 9.0 — حرجة | ثغرة يوم الصفر مُستغلة بنشاط | اكتُشفت في يناير 2025
CVE-2025-0282 هي ثغرة تجاوز سعة المخزن المؤقت المستندة إلى المكدس (CWE-121 / CWE-787) في مكوّن معالجة IFT/TLS في أجهزة Ivanti Connect Secure (ICS) وIvanti Policy Secure (IPS) وبوابات Ivanti ZTA. تتيح هذه الثغرة لمهاجم غير مُصادَق وعن بُعد تحقيق تنفيذ تعسفي للكود على الجهاز المستهدف بصلاحيات الجذر.
تم الكشف عن الثغرة في 8 يناير 2025 بعد رصد استغلالها بنشاط كثغرة يوم الصفر (Zero-day). ونُسبت إلى جهة التهديد المرتبطة بالصين التي تتعقبها Mandiant تحت اسم UNC5337. أضافت CISA هذا المعرّف إلى كتالوج الثغرات المعروفة المستغلة (KEV) خلال 72 ساعة من الكشف العام.
تكمن الثغرة في مسار معالجة حزم IFT (جدول التوجيه الداخلي) / TLS في واجهة إدارة HTTPS الخاصة بالجهاز. عند تحليل رسائل مصافحة TLS غير الصالحة أو إطارات IFT مصممة خصيصًا، تنسخ التعليمات البرمجية بيانات يتحكم فيها المهاجم إلى مخزن مؤقت ثابت الحجم على المكدس دون التحقق المناسب من الحدود:
memcpy(stack_buffer, attacker_data, attacker_controlled_length); // no length check
نظرًا لأن المخزن المؤقت الهدف يقع على المكدس، فإن حمولة كبيرة الحجم تكتب فوق:
| المنتج | الإصدارات المتأثرة | الإصدار المُصحَّح |
|---|---|---|
| Ivanti Connect Secure | < 22.7R2.5 | 22.7R2.5 |
| Ivanti Policy Secure | < 22.7R1.2 | 22.7R1.2 |
| ZTA Gateways | < 22.7R2.3 | 22.7R2.3 |
ملاحظة: أكدت Ivanti أن سلسلة الإصدارات 22.6 معرّضة للخطر أيضًا. العملاء الذين ما زالوا على ICS 9.x أو 22.4 معرّضون بنفس القدر.
sslvpn أو dsaccess/tmp/*.py أو .sslvpn_config_upload أو إدخالات cron غير متوقعةscapy وsocket وsslاستنسِخ هذا المستودع:
git clone https://github.com/your-org/cve-2025-0282-reproduction
cd cve-2025-0282-reproduction
ثبّت التبعيات:
pip install -r requirements.txt
(المتطلبات: scapy وargparse وsocket — socket مكتبة قياسية)
شغّل إثبات المفهوم (PoC) ضد هدفك:
python exploit.py --target 192.168.1.100 --port 8443
لتحديد حجم حمولة مخصص:
python exploit.py --target 192.168.1.100 --port 8443 --payload-size 4096
لتفعيل مخرجات التصحيح:
python exploit.py --target 192.168.1.100 --port 8443 --verbose
memcpy داخل مخزن مؤقت على المكدس بحجم 1024 بايت دون التحقق من الحدودمهم: الكود المقدم لأغراض تعليمية واختبار مصرّح به فقط. يوضح حالة تجاوز سعة المخزن المؤقت وسيتسبب في حجب الخدمة (تعطّل) على الأهداف غير المُصحّحة. تشغيله ضد أنظمة لا تملكها أو ليس لديك إذن كتابي لاختبارها أمر غير قانوني.
انظر exploit.py في هذا المستودع.
يقبل البرنامج النصي الوسائط التالية:
usage: exploit.py [-h] --target TARGET [--port PORT] [--payload-size PAYLOAD_SIZE] [--verbose]
CVE-2025-0282 Ivanti Stack Buffer Overflow Reproduction PoC
options:
-h, --help show this help message and exit
--target TARGET Target Ivanti appliance IP or hostname
--port PORT Target port (default: 8443)
--payload-size PAYLOAD_SIZE
Size of overflow payload in bytes (default: 4096)
--verbose Enable verbose/debug output
هذا المستودع مقدَّم لأغراض البحث الأمني المصرّح به والتعليم فقط. المؤلفون غير مسؤولين عن أي إساءة استخدام لهذا الكود. الاستغلال غير المصرح به لثغرة CVE-2025-0282 غير قانوني وغير أخلاقي. احصل دائمًا على إذن كتابي صريح قبل اختبار أي نظام.
| الحقل | التفاصيل |
|---|
| متجه الهجوم | الشبكة |
| التعقيد | منخفضة |
| الصلاحيات المطلوبة | لا شيء |
| تفاعل المستخدم | لا شيء |
| النطاق | غير متغير |
| السرية | عالية |
| التكامل | عالية |
| التوفر | عالية |
| الإجراء | التفاصيل |
|---|
| التصحيح فورًا | الترقية إلى ICS >=22.7R2.5 أو IPS >=22.7R1.2 أو ZTA >=22.7R2.3 |
| تقييد الوصول الشبكي | قصر واجهة إدارة HTTPS على عناوين IP موثوقة فقط |
| تفعيل MFA | يخفف من الحركة الجانبية بعد الاستغلال |
| مراقبة السجلات | راقب حالات شذوذ TLS وتعطل العمليات غير المتوقع |
| البحث عن مؤشرات الاختراق (IOCs) | تحقق من الأساليب والتقنيات والإجراءات (TTPs) الخاصة بـ UNC5337 (تفريغ بيانات الاعتماد، أدوات الأنفاق) |