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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-85317 — نموذج إثبات مفهوم قابل للتشغيل بـ Spring Boot يعيد إنتاج CVE-2026-85317، حيث تتجاهل ذاكرة التخزين المؤقت لرموز OAuth2 في camel-http النطاق والموارد ونقطة نهاية الرمز، إضافةً إلى نسخة تحكم مُصحّحة. | Kitploit
أدوات/GitHubGitHub/oscerd/cve-2026-85317
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبالمصادقةالتعلم والتعليم
GitHuboscerd/cve-2026-85317

CVE-2026-85317

نموذج إثبات مفهوم قابل للتشغيل بـ Spring Boot يعيد إنتاج CVE-2026-85317، حيث تتجاهل ذاكرة التخزين المؤقت لرموز OAuth2 في camel-http النطاق والموارد ونقطة نهاية الرمز، إضافةً إلى نسخة تحكم مُصحّحة.

عرض المستودع
4منذ يوم واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-85317 — camel-http: ارتباك ذاكرة التخزين المؤقت لرموز OAuth2

مُعيد إنتاج عملي قابل للتشغيل لثغرة Apache Camel حيث كانت ذاكرة التخزين المؤقت لرموز عميل OAuth2 في camel-http — وهي خريطة static على مستوى الـ JVM بأكملها — تُفهرس مدخلاتها على (uri, clientId, clientSecret) فقط، مع إغفال الحقول التي تُشكّل الرمز فعليًا: النطاق المطلوب، ومؤشر المورد، ونقطة نهاية الرمز. لذلك، فإن نقطتي نهاية تختلفان في تلك الحقول فقط كانتا تتشاركان مدخل ذاكرة تخزين مؤقت واحد، فيمكن أن يُقدَّم لنقطة نهاية رمز صادر لـ نطاق مختلف، أو مورد مختلف، أو من خادم تفويض مختلف — أي طلب يحمل صلاحية أوسع مما ضُبطت عليه نقطة النهاية، أو رمز يُقدَّم لطرف لم يُصدر له (CWE-524).

Spring Boot فقط. يشحن مُعيد الإنتاج هذا وحدة Camel Spring Boot واحدة. العيب موجود في عميل OAuth2 الخاص بـ camel-http، والذي يمتلك أيضًا امتداد camel-quarkus-http؛ لكن في حزمة JVM الخاصة بذلك الامتداد لا تُطبَّق خيارات العميل oauth2* على مستوى نقطة النهاية بالطريقة نفسها التي تُطبَّق بها تحت Spring Boot (إذ لا يُوصَّل اعتراض طلبات OAuth2 الذي يملك ذاكرة التخزين المؤقت للرموز أبدًا، فلا تُستدعى نقطة نهاية الرمز قط) — وهو القيد نفسه الموثّق لـ CVE-2026-85251. تُظهر وحدة Spring Boot السلوك المتأثر والمُصلَح.

بيئة التشغيلالدليلالحزمة
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-http 4.22.0 (متأثر؛ مُصلَح في 4.22.1)

ما الذي يوضحه

يحاكي برنامج التشغيل اختبار الانحدار الخاص بالإصلاح نفسه (HttpOAuth2TokenCachingTest). يعمل خادمان HTTP مؤقتان داخل العملية: نقطة نهاية رمز تُصدر رمز حامل (bearer token)، وهدف يتطلبه. يقوم المدقّق (/exploit/attack) بما يلي:

  1. يُجري طلبًا أول إلى الهدف باستخدام oauth2CacheTokens=true&oauth2Scope=read — فيُصدر رمز ويُخزَّن مؤقتًا؛
  2. يُوقف نقطة نهاية الرمز؛
  3. يُجري طلبًا ثانيًا، مطابقًا لكن بـ oauth2Scope=read+write.
  • المتأثر: يتجاهل مفتاح ذاكرة التخزين المؤقت النطاق، فيحصل الطلب الثاني على إصابة في ذاكرة التخزين المؤقت ويعيد استخدام رمز read — فينجح رغم اختفاء نقطة نهاية الرمز (إذ لا يمكن إصدار رمز جديد على الإطلاق).
  • المُصلَح: النطاق جزء من المفتاح، فيُخفق الطلب الثاني في إصابة ذاكرة التخزين المؤقت ويحاول إصدار رمز جديد؛ ومع توقف نقطة نهاية الرمز يفشل في الاتصال (HttpHostConnectException).
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: 2nd request 200 (reused read token); >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85317-http-oauth2-token-cache-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: 2nd request HttpHostConnectException; >>> Not exploited

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

الخاصيةالقيمة
المكوّنcamel-http (OAuth2ClientConfigurer، ذاكرة التخزين المؤقت للرموز)
CWECWE-524 (استخدام ذاكرة تخزين مؤقت تحتوي على معلومات حساسة)
الخطورةMEDIUM
ناقل الهجوميقوم النشر بتكوين أكثر من نقطة نهاية OAuth2 واحدة تختلف فقط في النطاق أو مؤشر المورد أو نقطة نهاية الرمز؛ وتتشارك جميعها ذاكرة التخزين المؤقت للرموز على مستوى JVM بالكامل
التأثيريتم تقديم رمز صادر لنطاق/مورد/خادم تفويض مختلف إلى نقطة نهاية — سلطة أوسع من المكوّنة، أو رمز يُقدَّم إلى طرف خاطئ
الإصدارات المتأثرةمن 4.0.0 قبل 4.18.5، ومن 4.19.0 قبل 4.22.1
الإصدارات المُصلحة4.18.5، 4.22.1، 4.23.0
JIRACAMEL-24456
الفضلClaude Security Scan Tool

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

الإصلاح

يمدّد OAuth2ClientConfigurer سجل مفتاح ذاكرة التخزين المؤقت OAuth2URIAndCredentials ليشمل نقطة نهاية الرمز والنطاق ومؤشر المورد، بحيث لا تعود الإدخالات مشتركة بين نقاط النهاية التي تختلف في أي من تلك الحقول.

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

شغّل نقاط النهاية التي تختلف في النطاق أو مؤشر المورد أو نقطة نهاية الرمز في JVMs منفصلة حتى لا تتشارك ذاكرة التخزين المؤقت الثابتة.

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

يُنشر هذا المستودع لأغراض تعليمية ودفاعية: لمساعدة مستخدمي Apache Camel على فهم الثغرة الأمنية، والتحقق مما إذا كانوا متأثرين بها، وتأكيد أن الترقية تحلّها. الرمز (xxx.yyy.zzz) ومعرّف العميل والسرّ هي قيم نائبة غير ضارة، ويعمل كلا خادمي HTTP داخل العملية نفسها. لا تستخدم هذه المواد ضد أنظمة لا تملكها أو لا تديرها.

تنزيل الأداة