CVE-2026-40859
Apache Camel: Camel-Vertx-Http: إلغاء تسلسل Java غير آمن لأجسام استجابات HTTP عبر ObjectInputStream خام عند تفعيل transferException
- تم النشر
- 06/07/2026
- محدث
- 06/07/2026
- تخصيص CNA
- apache
- الأدلة المرصودة
- 06/08/2026
CVSS الأساسي
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:Hمنخفض · الثلاثين يومًا القادمة
- المئوية
- 57.2%
- تاريخ الموديل
- 21/09/2026
EPSS هو تقدير إحصائي، وليس يقينًا أو مقياسًا للتأثير. ادمجها مع CVSS وحالة KEV والتعرض وبيئتك.
ملخص
# ثغرة إلغاء تسلسل البيانات غير الموثوقة في Apache Camel ثغرة إلغاء تسلسل البيانات غير الموثوقة في Apache Camel. يقوم مكوّن camel-vertx-http بإلغاء تسلسل أجسام استجابات HTTP التي تحمل نوع المحتوى application/x-java-serialized-object باستخدام java.io.ObjectInputStream خام، دون تطبيق أي ObjectInputFilter (VertxHttpHelper.deserializeJavaObjectFromStream). لا يتم الوصول إلى مسار إلغاء التسلسل هذا إلا عندما يتم تكوين نقطة نهاية المنتِج (producer) مع transferException=true (أو allowJavaSerializedObject=true على مستوى المكوّن) ويُترك throwExceptionOnFailure عند قيمته الافتراضية true؛ في هذه الحالة، يتم إلغاء تسلسل جسم استجابة HTTP خلفية بحالة 5xx ونوع المحتوى application/x-java-serialized-object دون أي قيود على الفئات. يمكن للمهاجم الذي يتحكم في الخلفية التي يتواصل معها منتِج Camel — عبر موقع رجل-في-الوسط على اتصال غير مشفّر (HTTP عادي)، أو عبر اختراق خدمة الخلفية — إرجاع كائن Java مُسلسَل مُصمَّم بعناية، وإذا وُجدت سلسلة أدوات (gadget chain) مناسبة في مسار الفئات (classpath)، يمكنه تحقيق تنفيذ عن بُعد للكود على مضيف تطبيق Camel. لا يمكن الوصول إلى هذا المسار في التكوين الافتراضي، حيث يكون transferException بقيمة false. تؤثر هذه الثغرة على Apache Camel: من 4.0.0 قبل 4.14.8، ومن 4.15.0 قبل 4.18.3، ومن 4.19.0 قبل 4.20.0. يُنصح المستخدمون بالترقية إلى الإصدار 4.20.0، الذي يصلح الثغرة. إذا كان المستخدمون على سلسلة إصدارات LTS 4.14.x، فمن المستحسن الترقية إلى 4.14.8. إذا كان المستخدمون على سلسلة إصدارات 4.18.x، فمن المستحسن الترقية إلى 4.18.3. بعد الترقية، يتم تقييد إلغاء التسلسل الذي تنفذه كلتا الأداتين المساعدتين بواسطة ObjectInputFilter افتراضي (قائمة السماح java.**;javax.**;org.apache.camel.**;!*)، والذي يمكن تخصيصه عبر خيار نقطة النهاية الجديد deserializationFilter أو خاصية النظام على مستوى JVM -Djdk.serialFilter. بالنسبة للنشرات التي لا يمكنها الترقية فورًا: لا تقم بتمكين transferException=true (أو allowJavaSerializedObject=true) على المنتِجات التي تتواصل مع خلفيات غير موثوقة أو قابلة للوصول عبر الشبكة؛ تأكد من أن اتصالات المنتِج تستخدم TLS (https) بحيث لا يمكن استبدال الاستجابة من قبل رجل-في-الوسط؛ وحيثما يكون الخيار مطلوبًا، قم بتعيين قائمة سماح صريحة عبر -Djdk.serialFilter (على سبيل المثال java.**;org.apache.camel.**;!*) لتقييد إلغاء التسلسل.
المصادر
1الاستخدام المسؤول
استخدم معلومات الثغرات الأمنية فقط على الأنظمة التي تمتلكها أو المرخص لها باختبارها. يرتبط Kitploit ببيانات تعريف البحث العامة ولا يخزن أكواد الاستغلال أو الحمولات الضارة.