
مُعيد إنتاج لـ CVE-2026-46455 — Apache Camel camel-keycloak يفتقد فحص TokenVerifier.IS_ACTIVE (يتم قبول رموز الوصول منتهية الصلاحية)
IS_ACTIVE (قبول الرموز منتهية الصلاحية)أدوات إثبات مفهوم قابلة للتشغيل لنفس ثغرة Apache Camel، واحدة لكل بيئة تشغيل:
| بيئة التشغيل | الدليل | المكدس |
|---|---|---|
| Camel Spring Boot | camel-spring-boot/ | Spring Boot 3.2.0 + camel-keycloak 4.18.2 |
| Camel Quarkus | camel-quarkus/ | Quarkus 3.36.0 + Camel Quarkus 3.36.0 (يتضمّن Camel 4.20.0) |
كلاهما نسختان متأثرتان (تم إصلاحهما في 4.18.3 / 4.21.0)، وكلاهما يوضحان العيب نفسه:
KeycloakSecurityHelper.parseAndVerifyAccessToken يتحقق من توقيع الرمز وموضوعه ومصدره، لكنه يهمل
فحص TokenVerifier.IS_ACTIVE الخاص بـ Keycloak — لذلك لا يتم فرض exp / nbf أبدًا، ويتم قبول الرمز منتهي الصلاحية.
أي رمز تم تسريبه أو التقاطه يظل قابلاً للاستخدام إلى أجل غير مسمى (CWE-613 + CWE-287).
يقوم كل PoC بإنشاء رمز وصول موقّع بشكل صحيح تكون قيمة exp فيه قبل 30 دقيقة، ثم يمرّره عبر كل من
الأداة المساعدة المعرّضة للثغرة وعبر مُتحقّق يحتوي على IS_ACTIVE (وهو ما يفعله الإصلاح)، مما يُثبت أن الأداة المساعدة تقبل ما
يرفضه IS_ACTIVE. لا يتطلب الأمر خادم Keycloak — يتم توقيع الرمز بمفتاح RSA يتم توليده داخل العملية.
كل دليل فرعي هو مشروع مستقل بذاته يضم Dockerfile وdocker-compose.yml وREADME خاصًا به. باختصار،
لأي منهما:
cd camel-spring-boot # or: cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down
الاستشارة الأمنية: https://camel.apache.org/security/CVE-2026-46455.html
أدوات إعادة الإنتاج هذه مقدمة للبحث الأمني والاختبار المصرح به فقط، وهي لثغرة تم الإعلان عنها وإصلاحها بشكل عام. لا تستخدمها ضد أنظمة دون إذن صريح.
| الخاصية | القيمة |
|---|
| المكوّن | camel-keycloak |
| الفئة المتأثرة | org.apache.camel.component.keycloak.security.KeycloakSecurityHelper#parseAndVerifyAccessToken |
| CWE | CWE-613 (انتهاء صلاحية الجلسة غير الكافي) + CWE-287 (مصادقة غير سليمة) |
| الأثر | قبول رموز وصول منتهية الصلاحية أو غير الصالحة بعد → تتم مصادقة طلبات خارج فترة صلاحية الرمز |
| النسخ المتأثرة | من 4.18.0 حتى قبل 4.18.3، ومن 4.19.0 حتى قبل 4.21.0 (أُضيفت الأداة المساعدة في 4.18.0؛ النسخة 4.14.x LTS غير متأثرة) |
| النسخ المُصلحة | 4.18.3, 4.21.0 |
| JIRA | CAMEL-23504 |