
استغلال إثبات المفهوم (PoC) لثغرة CVE-2025-70886، وهي ثغرة حرمان من الخدمة مستمرة في Halo CMS (الإصدار v2.22.4 والإصدارات الأقدم) تسمح للمهاجمين عن بُعد بتعطيل واجهة تعليقات المسؤول عن طريق إرسال حمولات غير صالحة.
إثبات المفهوم (PoC) لاستغلال CVE-2025-70886، وهي ثغرة رفض الخدمة المستمرة في Halo CMS (الإصدار v2.22.4 والإصدارات الأقدم) التي تتيح للمهاجمين عن بعد تعطيل واجهة التعليقات الإدارية عن طريق إرسال حمولات غير صالحة.
| Product Vendor: 凌霞软件 | Vendor Website: https://www.lxware.cn/ | Affected Object Type: برنامج / تطبيق ويب | Affected Product: Halo CMS | Affected Product Versions: <= v2.22.4 | Vulnerability type: رفض الخدمة المستمر (مخزن) / استثناء غير معالج | Attack type: عن بعد | Impact: رفض الخدمة (صفحة التعليقات الإدارية تُرجع HTTP 500 / خطأ الخادم الداخلي)
مشكلة في Halo الإصدار v2.22.4 والإصدارات الأقدم تسمح لمهاجم عن بعد بالتسبب في رفض الخدمة عبر حمولة مصممة لنقطة نهاية تقديم التعليقات العامة.
يمكن للمهاجم تقديم حمولة تعليق مصممة/غير صالحة (حقول مفقودة مثل subjectRef.version) عبر نقطة نهاية تقديم التعليقات العامة. يتم تخزين التعليق غير الصالح ويؤدي لاحقًا إلى استثناء غير معالج عند قراءة/عرض صفحة التعليقات الإدارية، مما يؤدي إلى رفض خدمة مستمر لصفحة إدارة التعليقات حتى تتم إزالة السجل المخالف أو إصلاح التحقق/المعالجة من جانب الخادم.
في نهاية التشغيل، تقوم مهمة الملخص بنشر جدول يوضح كل إصدار من Halo وحالته:
likely_vulnerable — أعادت API HTTP 500 أثناء الفحص.not_confirmed — لم تُعد API HTTP 500.⚠️ تحذير: لبيئات الاختبار المصرح بها فقط
استنساخ مستودع إثبات المفهوم
git clone https://github.com/HowieHz/CVE-2025-70886
cd CVE-2025-70886
نشر مثيل اختبار لـ Halo CMS
تهيئة النظام
تنفيذ برنامج PoC (تأكد من تكوين بيئة Node.js.)
node src/poc.js --base-url http://localhost:8090 --payload fixtures/payload.sample.json
الخيارات المتاحة:
--base-url: عنوان URL الأساسي لموقع Halo (مثل http://localhost:8090)--payload: المسار إلى ملف JSON لحمولة تعليق صالحة تم التقاطها--dry-run: طباعة الحمولة المعدلة فقط، دون إرسال--header: رأس إضافي بصيغة 'Key: Value' (قابل للتكرار)--help: عرض المساعدةالتحقق من الثغرة