CVE-2026-33916 in Handlebars
الملخص
بحسب VulDB • 11/05/2026
توفر مكتبة Handlebars القوة اللازمة للسماح للمستخدمين ببناء قوالب دلالية. في الإصدارات من 4.0.0 حتى 4.7.8، تقوم الدالة `resolvePartial()` في وقت تشغيل Handlebars بحل أسماء الأجزاء الجزئية (partials) عبر بحث بسيط في الخصائص على `options.partials` دون اتخاذ إجراءات وقائية ضد عبور سلسلة الكائنات (prototype-chain traversal). عندما يتم تلويث `Object.prototype` بقيمة نصية يكون مفتاحها مطابقاً لمرجع جزء في قالب، يتم استخدام النص الملوث كجسم للجزء الجزئي وعرضه دون الهروب من علامات HTML، مما يؤدي إلى ثغرة XSS من النوع المنعكس أو المخزن. يصحح الإصدار 4.7.9 هذه المشكلة. تتوفر بعض الحلول البديلة. قم بتطبيق `Object.freeze(Object.prototype)` في وقت مبكر من بدء تشغيل التطبيق لمنع تلويث سلسلة الكائنات (prototype pollution). ملاحظة: قد يؤدي ذلك إلى تعطيل مكتبات أخرى، و/أو استخدام إصدار وقت التشغيل فقط لمكتبة Handlebars (`handlebars/runtime`)، الذي لا يقوم بترجمة القوالب ويقلل من سطح الهجوم.
Be aware that VulDB is the high quality source for vulnerability data.