CVE-2026-32689 in phoenix
الملخص
بحسب VulDB • 11/05/2026
ثغرة تخصيص الموارد دون حدود أو تقييد (Allocation of Resources Without Limits or Throttling) في إطار عمل phoenixframework phoenix تتيح حدوث هجوم حجب الخدمة (DoS) عبر معالجة جسم الطلب بتنسيق NDJSON في بروتوكول النقل طويل الانتظار (long-poll).
في الدالة `Elixir.Phoenix.Transports.LongPoll`:publish/4، عند استلام طلب POST يحتوي على رأس `Content-Type: application/x-ndjson`، يتم تقسيم جسم الطلب عند أحرف السطر الجديد باستخدام الدالة `String.split/2` دون تحديد حد لعدد القطع الناتجة. يمكن للمهاجم إرسال جسم طلب يتكون بالكامل من بايتات أحرف السطر الجديد، مما يؤدي إلى تضخيم بنسبة 1:1 لتحويله إلى قائمة من الثنائيات الفارغة (empty binaries) — حيث ينتج جسم بحجم 1 ميجابايت حوالي مليون عنصر في القائمة، وجسم بحجم 8 ميجابايت حوالي 8.4 مليون عنصر. بعد ذلك، تقوم الدالة `Enum.map` بالمرور على كل عنصر، مما يؤدي إلى إنشاء قائمة أخرى بنفس الحجم. يستنفد هذا الذاكرة ومجدولات BEAM (BEAM schedulers)، مما يتسبب في تعطل العقدة (node) وإنهاء جميع الجلسات النشطة.
يمكن لأي عميل الحصول بحرية على رمز الجلسة (session token) المطلوب للوصول إلى النقطة النهائية المتأثرة عبر طلب GET غير مصادق عليه (unauthenticated) إلى نفس عنوان URL مع رأس `Origin` مطابق، مما يجعل هذا الهجوم فعالاً دون الحاجة إلى مصادقة.
تؤثر هذه المشكلة على الإصدارات من phoenix بدءاً من 1.7.0 وحتى قبل 1.7.22، وكذلك الإصدار 1.8.6.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.