PT-2026-133308
CVE-2026-109821
·
تاريخ النشر
2026-10-30
·
تاريخ التحديث
2026-10-30
الوصف من
CVSS 4.0
6.3
متوسطةالمقاييسAV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
اسم البرنامج المصاب والإصدارات المتأثرة
Elixir الإصدارات من 0.5.0 إلى 1.18.5
Elixir الإصدارات من 1.19.0-rc.0 إلى 1.19.6
Elixir الإصدارات من 1.20.0-rc.0 إلى 1.20.4
Description
يسمح وجود خطأ في التحقق من كمية المدخلات المحددة في وحدة
URI بمكتبة Elixir القياسية للمهاجم بالتسبب في حالة رفض الخدمة من خلال استنفاد وحدة المعالجة المركزية (CPU) عن طريق تقديم عنوان URL يحتوي على مكون منفذ (port) طويل بشكل مفرط. تقوم الدالة URI.parse/1 باستخدام String.to integer/1 داخل split authority/1 لتحويل المنفذ دون تحديد طوله، مما يسمح بإنشاء عدد صحيح كبير (bignum) يصل إلى 1,262,592 رقمًا عشريًا. وعندما يتم تحويل عنوان URL هذا مرة أخرى إلى نص عبر URI.to string/1 أو inspect/1 أو التسجيل (logging) أو تنسيق الأخطاء، يتم استخدام :erlang.integer to binary/1. في إصدارات Erlang/OTP 27 و 28 و 29.0، تكون عملية التحويل هذه تربيعية، مما يعني أن وقت وحدة المعالجة المركزية المطلوب يزداد بشكل كبير مع زيادة عدد الأرقام. على سبيل المثال، قد يستغرق المنفذ الذي يحتوي على 400,000 رقم حوالي 2.6 ثانية للمعالجة، بينما قد يستغرق المنفذ بحجم 1 ميجابايت حوالي 18 ثانية. يمكن أن يؤدي ذلك إلى استنفاد وحدة المعالجة المركزية في الخوادم التي تقوم بتحليل وتسجيل أو إعادة إرسال عناوين URL المقدمة من المستخدم في حقول النماذج أو أجسام JSON.Recommendations
تحديث Elixir إلى الإصدار 1.18.6 أو أحدث.
تحديث Elixir إلى الإصدار 1.19.7 أو أحدث.
تحديث Elixir إلى الإصدار 1.20.5 أو أحدث.
كإجراء مؤقت، قم برفض عناوين URL التي يتجاوز طولها بضعة كيلوبايت قبل تحليلها.
كإجراء مؤقت، قم بالتحقق من قيمة
port التي تم تحليلها ورفض أي قيمة تتجاوز 65535 قبل معالجة أو استخدام كائن %URI{}.قابلية الاستغلال
استغلال
إصلاح
التأثيرات
الباحثون
المورّدون
المنتجات المتأثرة
وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾