PT-2026-28570
CVE-2026-33938
·
تاريخ النشر
2026-03-26
·
تاريخ التحديث
2026-10-15
الوصف من
CVSS 3.1
8.1
عاليةالمقاييسAV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
اسم البرنامج المعرض للخطر والإصدارات المتأثرة
إصدارات Handlebars من 4.0.0 إلى 4.7.8
الوصف
يتيح Handlebars للمستخدمين إنشاء قوالب دلالية. توجد ثغرة تتمثل في تخزين المتغير الخاص
@partial-block في سياق بيانات القالب، حيث يمكن تعديله من داخل القالب عبر المساعدات التي تقبل كائنات عشوائية. إذا قام أحد المساعدات بالكتابة فوق @partial-block باستخدام شجرة صياغة مجردة (AST) لـ Handlebars تم تصميمها خصيصًا، فإن الاستدعاء اللاحق لـ {{> @partial-block}} يقوم بتجميع وتنفيذ تلك الشجرة، مما قد يتيح تنفيذ تعليمات JavaScript تعسفية على الخادم. تتضمن حزمة npm handlebars-helpers مساعدات يمكن استخدامها للكتابة فوق المتغير @partial-block. تحدث هذه الثغرة الأمنية لأن إطار البيانات (data frame) هو كائن قابل للتغيير، مما يسمح للمهاجمين بالتحكم في قيمة @partial-block. عند تقييم {{> @partial-block}}، يقوم وقت التشغيل (runtime) بترجمة القيمة ديناميكيًا، وإذا كانت شجرة صياغة مجردة لـ Handlebars (AST) صحيحة التكوين وتحتوي على كود مُحقن، فإن كود JavaScript المُحقن يتم تنفيذه في عملية الخادم.التوصيات
استخدم الإصدار المخصص لوقت التشغيل فقط (
require(’handlebars/runtime‘)).افحص المساعدات المسجلة للتأكد من عدم وجود أي منها يكتب قيمًا عشوائية إلى كائنات السياق.
تجنب تسجيل المساعدات من حزم الجهات الخارجية في السياقات التي يمكن أن تتأثر فيها القوالب أو بيانات السياق بمدخلات غير موثوق بها.
قابلية الاستغلال
استغلال
إصلاح
التأثيرات
الباحثون
المورّدون
المنتجات المتأثرة
وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾