PT-2026-28571

CVE-2026-33939

·

تاريخ النشر

2026-03-26

·

تاريخ التحديث

2026-10-15

الوصف من

CVSS 2.0
7.8
عالية
المقاييسAV:N/AC:L/Au:N/C:N/I:N/A:C
اسم البرنامج المعرض للخطر والإصدارات المتأثرة
إصدارات Handlebars من 4.0.0 إلى 4.7.8
الوصف
قد تتسبب قوالب Handlebars التي تحتوي على صيغة زخرفة تشير إلى زخرفة غير مسجلة (على سبيل المثال، {{*n}}) في حدوث هجوم «رفض الخدمة» (Denial of Service). تستدعي القالب المُجمَّع lookupProperty(decorators, ”n“)، والتي تُرجع undefined. ثم يحاول وقت التشغيل استدعاء هذه القيمة undefined كدالة، مما يؤدي إلى ظهور خطأ TypeError: ... is not a function غير معالج، والذي يتسبب في تعطل عملية Node.js. التطبيقات التي تقوم بتجميع القوالب التي يقدمها المستخدمون دون معالجة الأخطاء تكون عرضة لهجوم «رفض الخدمة» من خلال طلب واحد. تشارك الدالة lookupProperty() في هذه العملية. يمكن للمهاجم إرسال قالب ضار مثل {{*n}} إلى نقطة نهاية تستدعي Handlebars.compile(userInput)()، مما يتسبب في تعطل عملية الخادم بشكل متكرر إذا أعاد مدير العمليات تشغيلها تلقائيًا.
التوصيات
الإصدارات السابقة للإصدار 4.7.9 معرضة لهذا الخطر.
قم بتضمين عمليات التحويل البرمجي والعرض في كتل try/catch.
تحقق من صحة مدخلات القوالب قبل التحويل البرمجي وارفض القوالب التي تحتوي على صيغة الزخرفة ({{*...}}) إذا لم يتم استخدام الزخارف.
استخدم سير عمل التحويل البرمجي المسبق عن طريق تحويل القوالب برمجياً في وقت الإنشاء وتقديم القوالب المُحوَّلة مسبقاً فقط؛ وتجنب استدعاء compile() في وقت الطلب.
قابلية الاستغلال
استغلال
إصلاح
التأثيرات
الباحثون
المورّدون
المنتجات المتأثرة
المعرّفات ذات الصلة
GHSA-9CX6-37PM-9JFF
CLEANSTART-2026-YO10703
وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾