CVE-2026-71300
Apache Camel: Camel-Atmosphere-Websocket: حقن في ترويسة توجيه WebSocket
- تم النشر
- 24/08/2026
- محدث
- 25/08/2026
- تخصيص CNA
- apache
- الأدلة المرصودة
- 24/08/2026
CVSS الأساسي
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:Hمنخفض · الثلاثين يومًا القادمة
- المئوية
- 39.1%
- تاريخ الموديل
- 21/09/2026
EPSS هو تقدير إحصائي، وليس يقينًا أو مقياسًا للتأثير. ادمجها مع CVSS وحالة KEV والتعرض وبيئتك.
ملخص
ثغرة تحقق غير صحيحة من المدخلات في مكوّن Apache Camel Atmosphere Websocket. تؤثّر هذه المشكلة على Apache Camel: من 4.0.0 قبل 4.14.9، ومن 4.15.0 قبل 4.18.4، ومن 4.19.0 قبل 4.22.0. يختار مُنتِج camel-atmosphere-websocket أي عملاء WebSocket المتصلين سيتم تسليم الرسالة إليهم عبر ترويسات Exchange، وكانت القيم النصية لتلك الترويسات خارج نطاق Camel: websocket.connectionKey و websocket.connectionKey.list، بالإضافة إلى websocket.sendToAll و websocket.eventType و websocket.errorType. توسّع WebsocketEndpoint من ServletEndpoint وبالتالي ترث HttpHeaderFilterStrategy، التي تقوم بتصفية البادئتين Camel و camel فقط؛ لذلك وقعت الأسماء المنقّطة خارج النطاق المصفّى وتم قبولها في كلا الاتجاهين من قبل كل مستهلك من عائلة HTTP. في مسار يربط مستهلك HTTP بمُنتِج atmosphere-websocket، يمكن لمرسل خارجي توفير ترويسة القائمة والاستيلاء على قرار التوزيع الخاص بالمُنتِج. يختبر WebsocketProducer.process ترويسة القائمة قبل ترويسة المفتاح الفردي، لذا فإن القيمة المحقونة ألغت المستلم الذي اختاره المسار: يمكن كتم إشعار مخصّص لأحد العملاء المتصلين، أو تسليمه بدلاً من ذلك إلى عميل مختلف يعرف المرسل مفتاح اتصاله. لا يلزم أن تكون الترويسة معلمة استعلام ولا يلزم توفيرها كقائمة حرفيًا — إذ يقوم ربط Camel بـ HTTP بترقية اسم ترويسة مكرّر، وقيمة بين أقواس، إلى List عند التعيين إلى Exchange — لذلك يكفي ترويسة HTTP داخلة عادية للوصول إلى الفرع القائم على القائمة. وهذا مختلف عن CVE-2026-55993، الذي يتعلق بمسار معلمة الاستعلام في جهة المستهلك ضمن نفس المكوّن. يعود هذا السلوك إلى إدخال هذه الثوابت، التي صدرت لأول مرة في 2.17.0، وظلّ دون تغيير حتى هذا الإصلاح. يُنصح المستخدمون بالترقية إلى الإصدار 4.22.0، الذي يصلح المشكلة. إذا كان المستخدمون على سلسلة إصدارات 4.14.x LTS، فيُقترح الترقية إلى 4.14.9. إذا كان المستخدمون على سلسلة إصدارات 4.18.x، فيُقترح الترقية إلى 4.18.4. بالنسبة للنشر الذي لا يمكنه الترقية فورًا، قم بإزالة ترويسات التوزيع عند حد الثقة قبل المُنتِج، على سبيل المثال باستخدام removeHeaders(“websocket.*”) بين مستهلك HTTP ومُنتِج atmosphere-websocket. لاحظ أن الإصلاح يعيد تسمية قيم الترويسات النصية إلى نطاق Camel، وهو تغيير جذري للمسارات التي تعيّنها كنص حرفي: المسارات التي تشير إلى حقول WebsocketConstants رمزيًا غير متأثرة، والتغيير موثّق في أدلة الترقية. كدفاع في العمق، لا تربط مستهلك HTTP غير موثوق مباشرة بمُنتِج WebSocket يكون توزيعه مدفوعًا بالترويسات دون إزالة نطاق التوزيع أولاً.
المصادر
1الاستخدام المسؤول
استخدم معلومات الثغرات الأمنية فقط على الأنظمة التي تمتلكها أو المرخص لها باختبارها. يرتبط Kitploit ببيانات تعريف البحث العامة ولا يخزن أكواد الاستغلال أو الحمولات الضارة.