
أداة إعادة إنتاج لثغرة CVE-2026-46457 — حقن الترويسة الواردة في مكوّن camel-nats من Apache Camel (حقن ترويسة التحكم في Camel عبر ناشر NATS؛ CamelHttpUri -> SSRF)
| بيئة التشغيل | الدليل | المجموعة التقنية |
|---|
| Camel Spring Boot | camel-spring-boot/ | Spring Boot 3.2.0 + camel-spring-boot 4.18.2 |
| Camel Quarkus | camel-quarkus/ | Quarkus 3.36.0 + Camel Quarkus 3.36.0 (يضمّ Camel 4.20.0) |
كلا النسختين متأثرتان (أُصلح الأمر في 4.14.8 / 4.18.3 / 4.21.0)، وكلاهما يوضح العيب ذاته:
يضبط NatsConfiguration قيمة headerFilterStrategy افتراضيًا على new DefaultHeaderFilterStrategy() مُجرَّد من أي قواعد للترويسات الواردة، لذلك ينسخ NatsConsumer كل ترويسة واردة من رسائل NATS إلى Exchange — بما في ذلك CamelHttpUri. يكرّم منتج camel-http تلك الترويسة باعتبارها URI للطلب، لذا يمكن لأي شخص قادر على النشر إلى الموضوع المستهلك إعادة توجيه الطلب الصادر إلى هدف من اختياره (SSRF، CWE-20). تصل التقنية نفسها إلى أي منتج تتحكم فيه الترويسات (CamelFileName، CamelSqlQuery، ...).
كل دليل فرعي هو مشروع مستقل بذاته (مع وسيط NATS يُشغَّل عبر docker-compose.yml الخاص به)، وله Dockerfile و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
| الخاصية | القيمة |
|---|---|
| المكوّن | camel-nats |
| الفئة المتأثرة | org.apache.camel.component.nats.NatsConfiguration (بشكل افتراضي DefaultHeaderFilterStrategy) / NatsConsumer |
| CWE | CWE-20: تحقق غير سليم من المدخلات |
| الأثر | ناشر إلى الموضوع يحقن ترويسات تحكم في Camel → توجيه المنتجات النهائية (SSRF موضَّح هنا) |
| النسخ المتأثرة | بدءًا من 4.0.0 وحتى ما قبل 4.14.8، وبدءًا من 4.15.0 وحتى ما قبل 4.18.3، وبدءًا من 4.19.0 وحتى ما قبل 4.21.0 |
| النسخ المُصلَّحة | 4.14.8، 4.18.3، 4.21.0 |
| JIRA | CAMEL-23515 |
النشرة الأمنية: https://camel.apache.org/security/CVE-2026-46457.html
هذه النسخ مُقدَّمة للبحث الأمني والاختبار المصرَّح به فقط، لثغرة مُعلَنة علنًا ومُعالَجة. لا تستخدمها ضد أي أنظمة دون إذن صريح.