PT-2026-49557

CVE-2026-49458

·

تاريخ النشر

2026-06-15

·

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

2026-09-25

الوصف من

CVSS 3.1
6.1
متوسطة
المقاييسAV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
اسم البرنامج المعرض للخطر والإصدارات المتأثرة
إصدارات DOMPurify السابقة للإصدار 3.4.6
الوصف
يفشل DOMPurify في تطهير عقد DOM بشكل صحيح من المجالات الخارجية ذات المنشأ نفسه (مثل تلك الموجودة في iframe أو نافذة منبثقة أو علامة تبويب مفتوحة) عند استخدام الأسلوب DOMPurify.sanitize(node, { IN PLACE: true }). تحدث هذه المشكلة لأن المكتبة تستخدم فحوصات instanceof المرتبطة بالمجال مقابل منشئات المجال الأصلي. ونظرًا لأن منشئات الكائنات فريدة لكل مجال، فإن عمليات الفحص هذه تُرجع القيمة false لعقد المجالات الخارجية، مما يتسبب في تخطي أداة التنقية لفروع الأمان الحرجة.
تشمل التفاصيل الفنية ما يلي:
  • تجاوز Clobbering: تفشل الدالة isClobbered() في التعرف على عناصر <form> في المجالات الخارجية، مما يسمح ببقاء سمات يتحكم فيها المهاجم مثل onmouseover أو onclick.
  • تجاوز القوالب: تفشل الدالة sanitizeShadowDOM() والمكرر الرئيسي في التعرف على كائنات DocumentFragment في الخاصية .content لعناصر <template> التابعة لمجال غريب، مما يترك علامات قابلة للتنفيذ داخل القالب.
  • تجاوز Shadow DOM: تفشل الدالة sanitizeAttachedShadowRoots() في التعرف على كائنات ShadowRoot التابعة لمجال خارجي، مما يؤدي إلى تخطي عملية التنقية لشجرة Shadow الفرعية بأكملها.
قد يؤدي هذا إلى حدوث هجمات البرمجة النصية عبر المواقع (XSS) عندما يقوم التطبيق لاحقًا بإدراج العقدة التي تمت معالجتها أو تنشيطها في DOM الفعلي.
التوصيات
قم بتحديث DOMPurify إلى الإصدار 3.4.6.
كحل مؤقت، تجنب استخدام الخيار IN PLACE: true عند معالجة عقد DOM التي تم إنشاؤها في
قابلية الاستغلال
استغلال
إصلاح
التأثيرات
المورّدون
المنتجات المتأثرة
المعرّفات ذات الصلة
GHSA-HPCV-96WG-7VJ8
ECHO-620B-E534-5A35
وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾