PT-2026-123300
CVE-2026-111101
·
تاريخ النشر
2026-10-26
·
تاريخ التحديث
2026-10-26
الوصف من
CVSS 4.0
8.7
عاليةالمقاييسAV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
اسم البرنامج المصاب والإصدارات المتأثرة
bandit الإصدارات من 0.1.0 إلى 1.13.x
Description
يمكن لمهاجم عن بُعد غير مصرح له استنفاد ذاكرة وخادم وحدة المعالجة المركزية (CPU) عن طريق إرسال جسم طلب يتكون من العديد من الأجزاء (chunks) بحجم 1 بايت. تكمن المشكلة في قارئ الجسم المجزأ HTTP/1.1 في
lib/bandit/http1/socket.ex الذي يحتفظ بكل جزء كخلية قائمة ومصطلح ثنائي خاص به حتى يتم دمجهم بواسطة الدالة IO.iodata to binary/1. نظرًا لأن خيار :length في الدالة read body/2 يحسب بايتات البيانات فقط ولا يضع حدًا لعدد الأجزاء، فإن الأجزاء الصغيرة تستهلك ذاكرة أكبر بكثير من حمولتها الفعلية. يمكن أن يحدث هذا حتى لو لم تكن المسار بحاجة إلى قراءة الجسم، لأن الدالة ensure completed/1 تقوم بتفريغ الأجسام غير المقروءة في اتصالات keep-alive.Recommendations
تحديث bandit إلى الإصدار 1.14.0 أو إصدار أحدث.
كإجراء مؤقت للإصدارات 0.7.0 وما فوق، إذا كانت جميع العملاء والوكلاء يدعمون HTTP/2، يمكن تعطيل HTTP/1 عن طريق ضبط
http 1 options: [enabled: false] لمنع تشغيل قارئ الجسم المجزأ. وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾