
إثبات المفهوم لـ CVE-2026-34197
يحتوي هذا المستودع على مختبر محلي لدراسة CVE-2026-34197 في Apache ActiveMQ Classic ولمقارنة مثيل ضعيف مقابل بناء مُصحَّح.
تم تنظيم المستودع لدعم هدفين:
هذا المستودع مُقدَّم بشكل صارم للبحث الأمني الدفاعي القانوني المصرح به في بيئات معملية معزولة تمتلكها أو لديك إذن صريح لاختبارها.
باستخدام أي مادة في هذا المستودع، فإنك توافق على أنك:
هذا المستودع ليس مخصصًا للعمليات الهجومية. إنه مخصص فقط للتحقق، والتعليم، وهندسة الاكتشاف، والتحقق من التصحيحات، والعروض التوضيحية المسيطر عليها.
إذا كنت غير متأكد مما إذا كان لديك الإذن لتشغيل هذه المواد، لا تقم بتشغيلها.
يركز هذا المختبر على سلوك Apache ActiveMQ Classic حول CVE-2026-34197:
apache/activemq-classic:5.19.25.19.4.
├── activemq-patched
│ ├── docker-compose.yml
│ ├── Dockerfile
│ ├── instructions.txt
│ └── poc.xml
├── docker-compose.yml
├── instructions.txt
└── poc.xml
يحتوي جذر هذا المستودع على المختبر الضعيف:
docker-compose.yml يبدأ حاوية ActiveMQ Classic 5.19.2 مع وحدة تحكم الويب و Jolokia معروضين على المضيف المحلي.instructions.txt يحتوي على سير عمل المختبر المحلي المستخدم للتحقق من السلوك الضعيف.poc.xml هو قالب حمولة XML المستخدم في المختبر.المنافذ النموذجية المكشوفة في ملف docker-compose.yml للمختبر الضعيف:
8161 - وحدة تحكم الويب / Jolokia61616 - OpenWire61613 - STOMP1883 - MQTT5672 - AMQPقم بتشغيل المختبر الضعيف:
docker compose up -d
يحتوي الدليل activemq-patched/ على بيئة مقارنة مصححة:
5.19.4المنافذ النموذجية المكشوفة في ملف compose المُصحَّح:
8261 - وحدة تحكم الويب / Jolokia62616 - OpenWireقم بتنزيل ملف الإصدار 5.19.4 المؤرشف:
cd activemq-patched
wget https://archive.apache.org/dist/activemq/5.19.4/apache-activemq-5.19.4-bin.tar.gz
بناء الصورة المحلية:
docker build \
-t pssec/activemq-classic:5.19.4 \
--build-arg ACTIVEMQ_VERSION=5.19.4 \
-f Dockerfile .
تشغيل المختبر المُصحَّح:
docker compose up -d
استخدم ملفات instructions.txt المُقدَّمة لسير عمل المختبر.
النتيجة المتوقعة على المستوى العالي:
VM scheme is not allowed.في اختبار داخلي حقيقي، يُفضَّل استخدام أمر آمن وقابل للملاحظة وغير تدميري بدلاً من أي شيء تدخلي.
مثال بسيط هو إنشاء ملف مؤقت مثل:
touch /tmp/pssec_validation_marker
ثم التحقق من النتيجة من المضيف:
docker exec -it cve-2026-34197-activemq ls -l /tmp/pssec_validation_marker
بالنسبة للبيئة المُصحَّحة، يجب أن يفشل التحقق المكافئ في إنشاء الملف عندما يعمل الإصلاح كما هو متوقع.
هذا أكثر أمانًا من استخدام حمولة تفاعلية وعادة ما يكون كافيًا لإثبات:
127.0.0.1 حيثما كان ذلك عمليًا.PSsec: https://pssec.io