PT-2026-25021

CVE-2026-31873

·

تاريخ النشر

2026-03-12

·

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

2026-03-13

الوصف من

CVSS 3.1
6.1
متوسطة
المقاييسAV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
اسم البرنامج المعرض للخطر والإصدارات المتأثرة
إصدارات Unhead الأقدم من 2.1.11
الوصف
Unhead هو مدير لرؤوس المستندات والقوالب. يستخدم فحص link.href داخل الدالة makeTagSafe (الموجودة في ملف safe.ts) دالة String.includes()، التي تراعي تمييز الأحرف الكبيرة والصغيرة. ومع ذلك، تتعامل المتصفحات مع أنظمة URI بطريقة لا تميز بين الأحرف الكبيرة والصغيرة. على وجه التحديد، يُفسر المتصفح ’DATA:text/css,...‘ بنفس طريقة تفسير ’data:text/css,...‘، لكن الفحص الذي يميز بين الأحرف الكبيرة والصغيرة ’DATA:...‘.includes(’data:‘) يُرجع القيمة false. وهذا يسمح للمهاجم بحقن CSS تعسفي للتلاعب بواجهة المستخدم أو استخراج البيانات من خلال محددات سمات CSS باستخدام استدعاءات background-image. يقع الجزء المعرض للخطر من الكود في الأسطر 68-71 من ملف safe.ts. يمكن للمهاجم استغلال هذا الثغرة لحقن CSS، على سبيل المثال، باستخدام علامة link مع سمة href مثل DATA:text/css,body{display:none}.
التوصيات
يجب تحديث الإصدارات الأقدم من 2.1.11 إلى الإصدار 2.1.11 أو أحدث.
كحل مؤقت، يُنصح بتعديل الدالة makeTagSafe في ملف safe.ts لاستخدام مقارنة لا تميز بين الأحرف الكبيرة والصغيرة عند فحص link.href، مثل تحويل القيمة إلى أحرف صغيرة باستخدام .toLowerCase() قبل تطبيق الأسلوب includes().
قابلية الاستغلال
استغلال
إصلاح
التأثيرات
الباحثون
المورّدون
المنتجات المتأثرة
المعرّفات ذات الصلة
GHSA-5339-HVWR-7582
وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾