CVE-2026-33937
Handlebars.js يحتوي على حقن JavaScript عبر خلط أنواع AST
- تم النشر
- 27/03/2026
- محدث
- 04/09/2026
- تخصيص CNA
- GitHub_M
- الأدلة المرصودة
- 25/08/2026
CVSS الأساسي
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:Hمنخفض · الثلاثين يومًا القادمة
- المئوية
- 75.9%
- تاريخ الموديل
- 21/09/2026
EPSS هو تقدير إحصائي، وليس يقينًا أو مقياسًا للتأثير. ادمجها مع CVSS وحالة KEV والتعرض وبيئتك.
ملخص
Handlebars توفر القوة اللازمة لتمكين المستخدمين من بناء قوالب دلالية. في الإصدارات من 4.0.0 إلى 4.7.8، تقبل `Handlebars.compile()` كائن AST محلل مسبقًا بالإضافة إلى سلسلة القالب. يتم إصدار حقل `value` لعقدة `NumberLiteral` في AST مباشرةً في JavaScript المُولّد دون اقتباس أو تنقية. لذلك، يمكن للمهاجم الذي يستطيع توفير AST مُصمم بعناية إلى `compile()` حقن وتنفيذ JavaScript تعسفي، مما يؤدي إلى تنفيذ التعليمات البرمجية عن بُعد على الخادم. يعمل الإصدار 4.7.9 على إصلاح هذه المشكلة. تتوفر بعض الحلول البديلة. تحقق من نوع الإدخال قبل استدعاء `Handlebars.compile()`؛ تأكد دائمًا من أن الوسيطة هي `string`، وليست كائنًا عاديًا أو قيمة مُعاد تحويلها من JSON. استخدم بناء Handlebars الخاص بوقت التشغيل فقط (`handlebars/runtime`) على الخادم إذا كانت القوالب مُجمّعة مسبقًا في وقت البناء؛ لن تكون `compile()` متاحة.
المصادر
4- CVE-2026-33937استغلال
Python POC، استغلال (Exploit) لثغرة حقن AST في Handlebars.js تسمح بتنفيذ تعليمات برمجية عن بُعد (RCE). الإصدارات من 4.0.0 حتى 4.7.8 من Handlebars.js متأثرة. درجة CVSS: 9.8 حرجة.
إثبات مفهوم لاستغلال CVE-2026-33937، وهي ثغرة حقن في شجرة الصياغة المجردة (AST) الخاصة بـ Handlebars تؤدي إلى تنفيذ تعليمات برمجية عن بُعد في Node.js. يعرض الحمولات المصممة لشجرة الصياغة المجردة ويقدم إرشادات للتخفيف من المخاطر.
الاستخدام المسؤول
استخدم معلومات الثغرات الأمنية فقط على الأنظمة التي تمتلكها أو المرخص لها باختبارها. يرتبط Kitploit ببيانات تعريف البحث العامة ولا يخزن أكواد الاستغلال أو الحمولات الضارة.