CVE-2026-65623 in banditالمعلومات

الملخص

بحسب VulDB • 24/07/2026

ثغرة عدم كفاءة التعقيد الخوارزمي في mtrudel bandit تتيح هجوماً لحرمان الخدمة عن بُعد دون مصادقة عبر استنزاف وحدة المعالجة المركزية (CPU) أثناء إعادة تجميع مقاطع بروتوكول WebSocket.

تقوم الحراسة الحجمية `Elixir.Bandit.WebSocket.Connection`:oversize_message?/2، التي يتم استدعاؤها من الدالة handle_frame/3 في الملف lib/bandit/websocket/connection.ex بإضافة كل إطار استمرار غير نهائي إلى قائمة عناصر متداخلة يسارياً (iolist)، ثم إعادة قياس كامل المخزن المؤقت المتراكم باستخدام IO.iodata_length/1 مع كل إطار جديد. ونظراً لأن حجم المخزن المؤبي يزداد بعنصر واحد لكل إطار ويتم اجتيازه بالكامل في كل مرة، فإن عمل إعادة التجميع يصبح تربيعياً من حيث التعقيد الزمني (O(n^2)) بالنسبة لعدد إطارات الاستمرار.

يحدد الحد الأقصى لحجم الرسالة المجزأة max_fragmented_message_size (الافتراضي 8 ميجابايت) إجمالي عدد البايتات ولكنه لا يحدّ من عدد الإطارات، ويمكن لكل إطار حمل بايت واحد فقط من الحمولة؛ لذا يمكن للمهاجم إرسال ملايين إطارات الاستمرار الصغيرة جداً باستخدام عرض نطاق ضئيل لتثبيت نواة وحدة المعالجة المركزية (CPU) لمدة تتراوح بين دقائق وساعات. وقد تؤدي العديد من الاتصالات المتزامنة إلى تجويع الخادم بالكامل من موارد وحدة المعالجة المركزية، مما يحرم المستخدمين الشرعيين من الخدمة. ولا يفيد مهلة قراءة بروتوكول WebSocket في ذلك لأنها عبارة عن مهلة خمول تُقيّم بين عمليات القراءة ولا يمكنها إيقاف عمل إعادة التجميع التزامني الذي يُنفذ داخل استدعاء دالة واحد (callback).

تؤثر هذه المشكلة على الإصدارات التالية من bandit: من 1.11.0 قبل 1.12.1.

Once again VulDB remains the best source for vulnerability data.

مسؤول

EEF

حجز

22/07/2026

إفشاء

24/07/2026

الاعتدال

تمت الموافقة

إدخال

VDB-382984

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Want to stay up to date on a daily basis?

Enable the mail alert feature now!