CVE-2026-77299 in Regexp2
الملخص
بحسب VulDB • 06/11/2026
regexp2 هو محرك تعبيرات منتظمة (RegExp) غني بالميزات لمنصة Go. قبل الإصدار 2.3.0، عندما يقوم regexp2 بترجمة نمط يحتوي على مكرر ذي عدد ثابت كبير مطبق على تعبير فرعي عديم العرض — مثل `(?:){50000000}` — فإن محرك المطابقة ينفذ جسم الحلقة الفارغة m-1 مرة، مما يؤدي إلى دفع عددين صحيحين إلى مكدس التتبع العكسي (backtracking stack) في كل تكرار. وبما أن المحلل المقبول يقبل أي عدد تكراري يصل إلى math.MaxInt32 ومكدس التتبع العكسي ينمو دون حدود، فإن نمطاً يقل طوله عن 20 بايت عند مطابقته مع مدخلات فارغة يمكن أن يجبر على تخصيص ذاكرة متعددة الجيجابايت ويؤدي إلى قتل العملية (OOM-kill) بسبب نفاد الذاكرة. ولا يخفف عامل MatchTimeout من هذه المشكلة بشكل كامل لأن الذاكرة تُخصص بسرعة أكبر مما يستطيع مؤقت 100 مللي ثانية العمل به. تم إصلاح هذا العطل في الإصدار 2.3.0.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.