Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-85315 — أداة إثبات مفهوم قابلة للتشغيل لإعادة إنتاج CVE-2026-85315، تُظهر الكشف عن رسائل الاستثناء في مستهلك camel-grpc (CWE-209) في Camel Spring Boot وQuarkus. | Kitploit
أدوات/GitHubGitHub/oscerd/cve-2026-85315
أدوات دفاعيةماسحات الثغرات الأمنية للويبتحليل الثغرات الأمنيةجمع المعلوماتالتعلم والتعليم
GitHuboscerd/cve-2026-85315

CVE-2026-85315

أداة إثبات مفهوم قابلة للتشغيل لإعادة إنتاج CVE-2026-85315، تُظهر الكشف عن رسائل الاستثناء في مستهلك camel-grpc (CWE-209) في Camel Spring Boot وQuarkus.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-85315 — camel-grpc: الكشف عن استثناء المستهلك

مُعيد إنتاج قابل للتشغيل لإثبات المفهوم لثغرة Apache Camel حيث، عندما تفشل مسار (route) خلف مستهلك gRPC، كانت رسالة استثناء المسار تُنسخ إلى وصف Status الخاص بـ gRPC. وعلى عكس السبب (cause) في الحالة (withCause(...))، الذي يبقى محليًا على الخادم، فإن الوصف يُنقل إلى العميل المُستدعي، لذا فإن المُستدعي الخارجي القادر على إحداث فشل يمكنه قراءة رسالة الخطأ الداخلية — عمليًا أسماء الفئات والحزم، ومسارات الملفات، وأسماء المضيفين، وتفاصيل الاتصال المحمولة في رسائل الاستثناء (CWE-209). هذا هو عضو gRPC من نفس عائلة استثناءات المستهلك غير المكتومة مثل تنبيهات knative وmina وCXF المنشورة إلى جانبه.

بيئة التشغيلالدليلالمكدس
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-grpc 4.22.0 (متأثر؛ مُصلح في 4.22.1)
Camel Quarkuscamel-quarkus/Quarkus 3.39.0 + camel-quarkus-grpc (Camel 4.22.0، متأثر؛ عنصر التحكم المُصلح CQ 3.40.0 / Camel 4.22.1)

يُظهر كلا الوحدتين السلوك المتأثر و السلوك المُصلح مقابل مستهلك camel-grpc الحقيقي.

ما الذي يوضحه

تشغّل كل وحدة مستهلك camel-grpc (خدمة PingPong من proto الاختبار الخاص بـ camel-grpc نفسه) يفشل مساره دائمًا برسالة تبدو داخلية:

Internal failure contacting jdbc:postgresql://db.internal.local:5432 (user=svc_admin) [CVE-2026-85315]

نقطة نهاية المدقق /exploit/attack تلعب دور عميل gRPC خارجي: فهي تستدعي PingSyncSync، وتلتقط StatusRuntimeException، وتُبلّغ عن رمز Status والوصف الذي أعاده الخادم.

  • المتأثر: وصف الحالة هو نص رسالة استثناء المسار حرفيًا — فيتسرّب عنوان URL لمخزن البيانات الخلفي وحساب الخدمة إلى العميل.
  • المُصلَح: خيار المستهلك الجديد muteException قيمته الافتراضية true، لذا يكون الوصف هو النص العام "Exchange processing failed" ولا تغادر الرسالة الحقيقية الخادم أبدًا (فهي محفوظة فقط في سبب الحالة المحلي).
# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: description leaks the internal message; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85315-grpc-exception-disclosure-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: description is "Exchange processing failed"; >>> Not exploited
# Camel Quarkus
cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected (Camel 4.22.0): description leaks the internal message
docker compose down
# Patched control: CQ 3.40.0 ships Camel 4.22.1
mvn clean package -Dcamel-quarkus.version=3.40.0 -Dquarkus.platform.version=3.40.0
java -jar target/quarkus-app/quarkus-run.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: description is "Exchange processing failed"

كل وحدة تخدم المدقّق على 8080 وتشغّل مستهلك camel-grpc على 50051 داخل العملية نفسها؛ يُنشر المنفذ 8080 فقط.

ملخص الثغرة

الخاصيةالقيمة
المكوّنcamel-grpc (GrpcMethodHandler، المستهلك)
CWECWE-209 (توليد رسالة خطأ تحتوي على معلومات حساسة)
الخطورةمتوسطة
ناقل الهجومعميل gRPC خارجي يثير فشلًا في المسار ويقرأ وصف Status المُرسَل
التأثيريُكشف للمتصل عن تفاصيل الخطأ الداخلية (أسماء الفئات/الحزم، المسارات، أسماء المضيفين، تفاصيل الاتصال)
الإصدارات المتأثرةمن 4.0.0 قبل 4.18.5، ومن 4.19.0 قبل 4.22.1
الإصدارات المُصلحة4.18.5، 4.22.1، 4.23.0
JIRACAMEL-24478
الفضلClaude Security Scan Tool

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

وحدة Quarkus المتأثرة مبنية على CQ 3.39.0 (Camel 4.22.0). عنصر التحكم المُرقّع هو CQ 3.40.0 (Camel 4.22.1).

الإصلاح

يضيف GrpcMethodHandler خيار مستهلك muteException (القيمة الافتراضية true). عند تفعيله، يُنتج التبادل الفاشل الوصف العام "Exchange processing failed" في الحالة المُرسَلة؛ ولا يزال استثناء المسار مرتبطًا محليًا عبر withCause(...)، وهو ما لا يرسله gRPC إلى العميل. اضبط muteException=false على نقطة النهاية لاستعادة السلوك السابق.

التخفيف إذا تعذّر عليك الترقية

اربط حالات الفشل بحالة صريحة في معالج onException حتى لا ينسخ الإطار أبدًا رسالة الاستثناء إلى الوصف.

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

يُنشر هذا المستودع لأغراض تعليمية ودفاعية: لمساعدة مستخدمي Apache Camel على فهم الثغرة، والتحقق مما إذا كانوا متأثرين بها، وتأكيد أن الترقية تحلّها. رسالة "الداخلية" هي عنصر نائب غير ضار (db.internal.local، svc_admin) والعرض التوضيحي بأكمله يعمل في عملية واحدة. لا تستخدم هذه المواد ضد أنظمة لا تملكها أو لا تديرها.

تنزيل الأداة