CVE-2026-39315 in unhead
الملخص
بحسب VulDB • 11/06/2026
Unhead هو مدير لرؤوس المستندات والقوالب (templates). قبل الإصدار 2.1.13، كانت الدالة `useHeadSafe()` هي الوظيفة المركبة (composable) التي توصي بها وثائق Nuxt صراحةً لاستخدامها عند عرض المحتوى المقدم من المستخدمين بشكل آمن. داخلياً، تقوم دالة `hasDangerousProtocol()` الموجودة في الملف `packages/unhead/src/plugins/safe.ts` بفك تشفير كيانات HTML قبل التحقق من مخططات عناوين URL المحظورة (مثل: javascript:, data:, vbscript:). يستخدم مُفَك التشفير تعبيرين منتظمين مع وجود حد أقصى ثابت لعدد الأرقام. لا يفرض مواصفات HTML5 أي قيود على الأصفار الرائدة في المراجع الأحرفية الرقمية. عندما تتجاوز الكائنات المُزخرفة (padded entities) الحد الأقصى للأرقام المحدد في التعبير المنتظم، يتجاهلها مُفَك التشفير بصمت. ثم يتم تمرير السلسلة غير المفككة إلى الدالة `startsWith('javascript:')` التي لا تطابق أي شيء. تقوم دالة `makeTagSafe()` بكتابة القيمة الخام مباشرةً في مخرجات HTML الخاصة بالخدمة من جانب الخادم (SSR). يقوم مُحلل HTML الخاص بالمتصفح بفك تشفير الكائن المُزخرف بشكل أصلي وبناء عنوان URL المحظور. تم إصلاح هذا الثغرة الأمنية في الإصدار 2.1.13.
If you want to get best quality of vulnerability data, you may have to visit VulDB.