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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-85301 — أداة إثبات مفهوم قابلة للتشغيل لإعادة إنتاج تجاوز التحقق من المُصدر (issuer) في Apache Camel camel-keycloak (CWE-287)، تُوضّح السلوك المتأثر والسلوك المُصحَّح في Spring Boot وQuarkus. | Kitploit
أدوات/GitHubGitHub/oscerd/cve-2026-85301
أدوات دفاعيةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبالمصادقةالتعلم والتعليم
GitHuboscerd/cve-2026-85301

CVE-2026-85301

أداة إثبات مفهوم قابلة للتشغيل لإعادة إنتاج تجاوز التحقق من المُصدر (issuer) في Apache Camel camel-keycloak (CWE-287)، تُوضّح السلوك المتأثر والسلوك المُصحَّح في Spring Boot وQuarkus.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-85301 — camel-keycloak: تجاوز التحقق من المُصدر

مُعيد إنتاج عملي قابل للتشغيل لثغرة Apache Camel حيث كان KeycloakSecurityProcessor في camel-keycloak يتحقق من مُصدر رمز تم استنطاقه (introspected token) فقط عندما كانت استجابة الاستنطاق تحتوي فعليًا على ادعاء iss. وعند غياب هذا الادعاء كان الفحص يُتخطّى بدلًا من اعتباره فشلًا، لذا كان يمكن قبول رمز لم يُصدره المُصدر المُهيّأ — بشرط أن تُجيب نقطة نهاية الاستنطاق بـ active دون تسمية مُصدر. وحيثما يقوم نشرٌ ما بالاستنطاق مقابل نقطة نهاية تُغفل iss وتخدم أكثر من مُصدر واحد، فإن النتيجة هي أنه يصادق على مُتصل كان ينبغي رفضه (CWE-287).

بيئة التشغيلالدليلالحزمة التقنية
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-keycloak 4.22.0 (متأثرة؛ مُصلحة في 4.22.1)
Camel Quarkuscamel-quarkus/Quarkus 3.39.0 + camel-quarkus-keycloak (Camel 4.22.0، متأثرة؛ ضابط التحقق المُصلح CQ 3.40.0 / Camel 4.22.1)

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

ما الذي يوضحه

يُهيّئ برنامج التشغيل KeycloakSecurityPolicy مع validateIssuer=true (المُصدر المتوقع http://localhost:8080/realms/test-realm) ومُستنطِق رمز يُبلّغ بأن الرمز نشط لكنه يُرجع بدون ادعاء iss — وهو بالضبط ما تُنتجه نقطة نهاية استنطاق وسيط/بوابة، لأن RFC 7662 يجعل iss اختياريًا. ثم يقود KeycloakSecurityProcessor بترويسة Authorization: Bearer <attacker-token> ويُبلّغ عمّا إذا كان المسار المحمي قد تم الوصول إليه.

  • المتأثرة: غياب iss يجعل المعالج يتخطّى فحص المُصدر، فيُقبل الرمز ويتم الوصول إلى المسار — أي تتم مصادقة رمز من مُصدر غير مقصود.
  • المُصلحة: غياب iss يُعدّ فشلًا في التحقق؛ فيُطلق المعالج CamelAuthorizationException ("Token issuer missing…") ولا يتم الوصول إلى المسار أبدًا.
# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: route reached, token accepted; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85301-keycloak-issuer-bypass-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: CamelAuthorizationException "Token issuer missing"; >>> 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.22.0): route reached, token accepted
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: CamelAuthorizationException "Token issuer missing"

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

الخاصيةالقيمة
المكوّنcamel-keycloak (KeycloakSecurityProcessor.validateIssuerFromIntrospection)
CWECWE-287 (مصادقة غير سليمة)
الخطورةمتوسطة
ناقل الهجومرمز مميز من جهة إصدار غير مقصودة، تم استعلامه عبر نقطة نهاية تحذف iss وتخدم أكثر من جهة إصدار واحدة، مع تفعيل validateIssuer=true
التأثيريقوم النشر بمصادقة مستدعٍ لم تُصدر جهة الإصدار المُهيّأة رمزه المميز
الإصدارات المتأثرةمن 4.15.0 قبل 4.18.5، ومن 4.19.0 قبل 4.22.1
الإصدارات المُصحّحة4.18.5، 4.22.1، 4.23.0
JIRACAMEL-24448
الفضلClaude Security Scan Tool

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

وحدة Quarkus المتأثرة مبنية على CQ 3.39.0 (Camel 4.22.0)، حيث تُقابل camel-quarkus-keycloak إصدار Camel متأثرًا. عنصر التحكم المُرقّع هو CQ 3.40.0 (Camel 4.22.1).

الإصلاح

أصبح KeycloakSecurityProcessor الآن يعامل غياب المطالبة iss على أنه فشل في التحقق: فعند تفعيل التحقق من جهة الإصدار ولا تحمل نتيجة الاستعلام أي جهة إصدار، فإنه يرمي CamelAuthorizationException بدلًا من العودة المبكرة والسماح بمرور الطلب. كان الكود السابق يتخطى المقارنة كلما غابت المطالبة، مما ترك جهة الإصدار غير مُتحقَّق منها تحديدًا للرموز المميزة التي لم تُسمِّ أي جهة إصدار.

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

تأكد من أن نقطة نهاية الاستعلام تُرجع المطالبة iss وتخدم جهة إصدار واحدة فقط، بحيث يكون الرمز المميز من أي جهة إصدار أخرى إما مُسمّى (ومرفوضًا) أو لا يتم الاستعلام عنه أبدًا كرمز نشط.

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

نُشر هذا المستودع لأغراض تعليمية ودفاعية: لمساعدة مستخدمي Apache Camel على فهم الثغرة الأمنية، والتحقق مما إذا كانوا متأثرين بها، وتأكيد أن الترقية تحلها. إن مستعلم الرموز المميزة هو stub داخل العملية ولا يتضمن أي خادم Keycloak حقيقي أو استدعاء شبكي؛ و"رمز المهاجم المميز" هو سلسلة نصية عنصر نائب غير شفافة. لا تستخدم هذه المواد ضد أنظمة لا تملكها أو لا تديرها.

تنزيل الأداة