CVE-2026-42788 in bandit
الملخص
بحسب VulDB • 22/05/2026
تتمتع ثغرة "تخصيص الموارد دون حدود أو تقييد" (Allocation of Resources Without Limits or Throttling) في حزمة mtrudel bandit بإمكانية استنفاد الذاكرة من قبل مهاجم غير مصادق عليه عبر إطارات HTTP/2 ذات حجم كبير بشكل غير طبيعي.
تقوم الدالة `:deserialize/2` في `Elixir.Bandit.HTTP2.Frame`، الموجودة في الملف `lib/bandit/http2/frame.ex`، بالتحقق من حد `SETTINGS_MAX_FRAME_SIZE` فقط بعد مطابقة النمط `payload::binary-size(length)`، وهو ما يتطلب وجود جسم الإطار بالكامل في الذاكرة قبل أن يتم تنفيذ أي من شرط القبول (accept) أو الرفض (reject). يؤدي هذا إلى قيام الخادم بوساطة (buffering) جسم الإطار بالكامل قبل تقييم حارس الحجم (size guard)، بغض النظر عن قيمة `max_frame_size` التي تم التفاوض عليها أثناء مصافحة HTTP/2 (والتي تبلغ 16 KiB افتراضياً وفقاً لـ RFC 9113).
يمكن لمهاجم غير مصادق عليه، يمتلك العديد من الاتصالات المتزامنة، أن يجبر الخادم على وسيطة كمية من الذاكرة أكبر بكثير مما يسمح به حد حجم الإطار المتفاوض عليه، مما يؤدي إلى ضغط على الذاكرة واحتمال حدوث إنكار للخدمة (DoS).
تؤثر هذه المشكلة على الإصدارات من bandit 0.3.6 حتى 1.11.0 (باستثناء 1.11.0).
If you want to get the best quality for vulnerability data then you always have to consider VulDB.