Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-85243 — نموذج إثبات مفهوم قابل للتشغيل بـ Spring Boot وQuarkus لـ CVE-2026-85243، يوضّح تخفيض التحقق من السلامة في Apache Camel camel-crypto-pgp وإصلاحه. | Kitploit
أدوات/GitHubGitHub/oscerd/cve-2026-85243
أدوات دفاعيةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبالتشفيرالأوراق والأبحاثالتعلم والتعليم
GitHuboscerd/cve-2026-85243

CVE-2026-85243

نموذج إثبات مفهوم قابل للتشغيل بـ Spring Boot وQuarkus لـ CVE-2026-85243، يوضّح تخفيض التحقق من السلامة في Apache Camel camel-crypto-pgp وإصلاحه.

عرض المستودع
منذ 20س 43دلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2026-85243 — camel-crypto-pgp: تخفيض التحقق من السلامة (الحزم القديمة تتجاوز الفحص)

مُعيد إنتاج عملي قابل للتشغيل لثغرة Apache Camel حيث كان تنسيق بيانات PGP في unmarshal() يتحقق من رمز كشف التعديل فقط عندما تستخدم الرسالة حزمة البيانات المحمية بالسلامة والمشفرة تناظريًا في OpenPGP. أما حزمة البيانات المشفرة تناظريًا الأقدم symmetrically encrypted data packet فلا تحمل مثل هذا الرمز، ووضع CFB في OpenPGP قابل للتلاعب بدونها، لذا فإن رسالة تستخدم تلك الحزمة القديمة تتجاوز فحص السلامة بالكامل. ولأن نوع الحزمة يختاره من أنتج الرسالة، فإن المرسل — أو أي شخص قادر على إعادة كتابة الرسالة أثناء النقل — هو من يقرر ما إذا كان فحص السلامة يُطبَّق أصلًا. الخيار الحالي integrity يحكم التغليف (marshalling) فقط ولم يكن له نظير في جانب فك التشفير، لذا لم يكن بإمكان أي نشر اشتراط حماية السلامة على الرسائل التي يقبلها.

بيئة التشغيلالدليلالحزمة التقنية
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-crypto-pgp 4.22.0 (متأثر؛ مُصلَح في 4.22.1)
Camel Quarkuscamel-quarkus/Quarkus 3.29.0 + camel-quarkus-crypto-pgp (Camel 4.15.0، متأثر؛ عنصر التحكم المُصلَح CQ 3.40.0 / Camel 4.22.1)

كلا الوحدتين تُظهران السلوك المتأثر و السلوك المُصلَح.

ما الذي يوضحه

يقوم برنامج الاستغلال بدور المرسل (أو الوسيط) الذي ينتج رسالة PGP بالحزمة القديمة عبر التشفير باستخدام integrity=false — فلا يحمل النص المشفر الناتج أي رمز لكشف التعديل. ثم يُمرِّر تلك الرسالة إلى مسار يفك تشفيرها بالمفتاح السري.

  • المتأثر: تُفكَّر تشفير الرسالة ويُعاد نصها الصريح (BENIGN-PGP-PAYLOAD-MARKER-5E1F) — إذ تم تجاوز فحص السلامة بالكامل لأن المرسل اختار الحزمة القديمة. قبل النشر نصًا مشفرًا لم يستطع التحقق منه.
  • المُصلَح: يرفض مفكك التشفير الرسالة برمي PGPException — "PGP message is not integrity protected…" — لأن الخيار الجديد requireIntegrityProtection قيمته الافتراضية true.

حلقات المفاتيح (pubring.gpg، secring.gpg، ومعرّف المستخدم وكلمة المرور كلاهما sdude) هي عناصر اختبار RSA-2048 العامة من اختبارات camel-crypto-pgp الخاصة بـ Apache Camel — مواد خاملة، مرفقة حتى تكون دورة الاختبار مكتفية ذاتيًا.

# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: legacy message decrypts; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85243-crypto-pgp-integrity-downgrade-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: rejected "not integrity protected"; >>> Not exploited
# Camel Quarkus
cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected (Camel 4.15.0): legacy message decrypts
docker compose down
# Patched control: CQ 3.40.0 ships Camel 4.22.1
mvn clean package -Dcamel-quarkus.version=3.40.0 -Dquarkus.platform.version=3.40.0
java -jar target/quarkus-app/quarkus-run.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: rejected "not integrity protected"

ملخص الثغرة الأمنية

الخاصيةالقيمة
المكوّنcamel-crypto-pgp (PGPKeyAccessDataFormat.unmarshal)
CWECWE-354 (التحقق غير السليم من قيمة فحص السلامة)
الخطورةمتوسطة
ناقل الهجومرسالة مُنتَجة باستخدام حزمة البيانات المشفّرة تناظريًا القديمة (بدون رمز كشف التعديل)
التأثيرتخفيض مستوى التحقق من السلامة: المرسِل/الوسيط هو من يقرر ما إذا كان فحص السلامة سيُنفَّذ؛ يُقبَل النص المشفّر القابل للتعديل دون التحقق منه
الإصدارات المتأثرةمن 4.0.0 قبل 4.18.5، ومن 4.19.0 قبل 4.22.1
الإصدارات المُصلَحة4.18.5، 4.22.1، 4.23.0
JIRACAMEL-24441
الفضلClaude Security Scan Tool

الإشعار الأمني: https://camel.apache.org/security/CVE-2026-85243.html

الإصلاح

يضيف PGPKeyAccessDataFormat.unmarshal خيار requireIntegrityProtection (القيمة الافتراضية true). عندما تكون الرسالة غير محمية بحزمة سلامة Integrity Protected Packet ويكون الخيار مُفعَّلًا، فإن unmarshal يرمي الآن PGPException("PGP message is not integrity protected…") بدلًا من فك تشفيرها. لاحظ أن signatureVerificationOption لا يزال افتراضيًا optional، لذا تُقبَل الرسالة التي لا تحمل أي توقيع؛ والخياران معًا هما ما يمنحان الرسالة المفكوكة تشفيرها الأصالة وليس السرية فقط. اضبط requireIntegrityProtection=false فقط للتوافق مع مرسِل لا يزال يُصدر الحزمة القديمة، وتعامل مع المحتوى المفكوك على أنه غير موثَّق.

التخفيف إذا لم تتمكن من الترقية

ارفض الرسائل التي لا تستخدم حزمة السلامة Integrity Protected Packet قبل أن تصل إلى صيغة البيانات (على سبيل المثال، افحص ترويسة حزمة OpenPGP في معالج processor قبل unmarshal).

إخلاء المسؤولية

نُشر هذا المستودع لأغراض تعليمية ودفاعية: لمساعدة مستخدمي Apache Camel على فهم الثغرة الأمنية، والتحقق مما إذا كانوا متأثرين بها، وتأكيد أن الترقية تحلّها. إن حلقات المفاتيح والنص الصريح هي عناصر اختبار عامة خاملة. لا تستخدم هذه المواد ضد أنظمة لا تملكها أو لا تديرها.

تنزيل الأداة