اسم البرنامج المعرض للخطر والإصدارات المتأثرة
إصدارات Rack الأقدم من 2.2.23 و3.1.21 و3.2.6
الوصف
تقوم الدالة Rack::Utils.get byte ranges بتحليل رأس HTTP Range دون تقييد عدد نطاقات البايت الفردية. وعلى الرغم من أن الإصلاح السابق لـ CVE-2024-26141 يمنع النطاقات التي تتجاوز حجم الملف، إلا أنه لا يقيد عدد النطاقات. يمكن للمهاجم إرسال العديد من النطاقات الصغيرة المتداخلة (على سبيل المثال، ’0-0,0-0,0-0,...‘) للتسبب في الاستخدام المفرط لوحدة المعالجة المركزية (CPU) والذاكرة وعمليات الإدخال/الإخراج (I/O) وعرض النطاق الترددي، مما يؤدي إلى رفض الخدمة في مسارات تقديم الملفات في Rack التي تعالج استجابات نطاقات البايت متعددة الأجزاء. تقبل الدالة `Rack::Utils.get byte ranges` قائمة بنطاقات البايت مفصولة بفواصل وتقوم بالتحقق من صحتها بناءً على حجمها الإجمالي، لكنها لا تفرض حدًا على عدد النطاقات الفردية التي يمكن توفيرها. رأس HTTP `Range` هو المكون المعرض للخطر.
التوصيات
قم بالتحديث إلى إصدار Rack 2.2.23 أو أحدث.
قم بالتحديث إلى الإصدار 3.1.21 من Rack أو أحدث.
قم بالتحديث إلى الإصدار 3.2.6 من Rack أو أحدث.