
تحليل تقني لثغرة إلغاء التسلسل (Deserialization) المؤدية إلى تنفيذ التعليمات البرمجية عن بُعد (RCE) في Apache ActiveMQ OpenWire
مستودع تحليل تقني يوثّق سبب ثغرة Apache ActiveMQ CVE-2023-46604، ومسار الكود، ونقاط التصحيح، ونتائج إعادة الإنتاج.
هذه الوثيقة مادة تعليمية من منظور التحليل الفني والدفاعي حول الثغرة العامة CVE-2023-46604.
أُجريت جميع التجارب في بيئة اختبار مغلقة ومعتمدة فقط، وقد يكون تطبيق هذه الثغرة أو إعادة إنتاجها على أنظمة غير مصرّح بها أمرًا غير قانوني.
محتوى هذه الوثيقة يُقدَّم لأغراض فهم الثغرة، والتحقق من التصحيحات، وتعزيز قدرات الكشف والاستجابة فقط.
CVE-2023-46604 هي ثغرة تنفيذ كود عن بُعد (RCE) تحدث أثناء عملية إلغاء التسلسل (Deserialization) في بروتوكول OpenWire الخاص بـ Apache ActiveMQ. المشكلة الأساسية هي أن BaseDataStreamMarshaller.createThrowable() يقوم بإنشاء مثيل عبر الانعكاس (Reflection) لاسم الفئة المُمرَّر من المدخلات الخارجية دون التحقق منه بشكل كافٍ.
يمكن للمهاجم استغلال ذلك لإجبار النظام على إنشاء فئات أخرى بدلاً من كائن الاستثناء، وقد يتبع ذلك تحميل XML عن بُعد وتنفيذ أوامر خلال هذه العملية.
ThrowableExceptionResponse -> createThrowable() -> إنشاء فئة عشوائيةيمكن الاطلاع على التقرير التحليلي التفصيلي في الوثيقة أدناه.
.
|- README.md
|- docs/
| \- CVE-2023-46604_report.md
\- assets/
\- images...
createThrowable()