CVE-2026-33671 in picomatch
الملخص
بحسب VulDB • 27/05/2026
Picomatch هو أداة مطابقة لأنماط Glob مكتوبة بلغة JavaScript. الإصدارات السابقة للإصدارات 4.0.4، و3.0.2، و2.3.2 عرضة لهجوم حجب الخدمة الناتج عن التعبيرات النظامية (ReDoS) عند معالجة أنماط extglob مُعدّة بشكل متلاعب. بعض الأنماط التي تستخدم محددات الكمية (quantifiers) الخاصة بـ extglob مثل `+()` و`*()`، خاصة عند دمجها مع بدائل متداخلة أو extglobs متداخلة، يتم تجميعها إلى تعبيرات نظامية قد تُظهر تتبعًا رجعيًا كارثيًا (catastrophic backtracking) عند إدخال غير مطابق. تتأثر التطبيقات التي تسمح للمستخدمين غير الموثوقين بتوفير أنماط Glob التي يتم تمريرها إلى `picomatch` للتجميع أو المطابقة. في هذه الحالات، يمكن للمهاجم أن يسبب استهلاكًا مفرطًا لموارد وحدة المعالجة المركزية (CPU) ويعطل حلقة أحداث Node.js، مما يؤدي إلى حجب الخدمة. التطبيقات التي تستخدم فقط أنماط Glob الموثوقة والتي يتحكم فيها المطورون أقل عرضة للتعرض لهذا الخطر من الناحية الأمنية. تم إصلاح هذه المشكلة في الإصدارات 4.0.4، و3.0.2، و2.3.2 من picomatch. يجب على المستخدمين الترقية إلى أحد هذه الإصدارات أو أحدث، اعتمادًا على خط الإصدار المدعوم لديهم. إذا لم يكن الترقية ممكنًا على الفور، فتجنب تمرير أنماط Glob غير الموثوقة إلى `picomatch`. تشمل إجراءات التخفيف الممكنة تعطيل دعم extglob للأنماط غير الموثوقة باستخدام `noextglob: true`، أو رفض أو تنقية الأنماط التي تحتوي على extglobs متداخلة أو محددات كمية لـ extglob مثل `+()` و`*()`، وفرض قوائم السماح الصارمة (allowlists) لتركيبات الأنماط المقبولة، وتشغيل المطابقة في عامل معزول (worker) أو عملية منفصلة مع حدود زمنية وموارد، وتطبيق تخفيف معدل الطلبات على مستوى التطبيق والتحقق من صحة المدخلات لأي نقطة نهاية (endpoint) تقبل أنماط Glob.
If you want to get best quality of vulnerability data, you may have to visit VulDB.