
ماسح ضوئي مبني على Go يكتشف تجاوز أداة تنقية DOMPurify (CVE-2026-47423) عبر بصمة المنطق على حزم JavaScript المصغّرة في بيئة الإنتاج، لتحديد تخطيطات الوسوم المسموحة غير المطبَّق عليها التصحيح.
ماسح ضوئي خفيف وعالي الأداء مكتوب بلغة Go، مصمم لاكتشاف عمليات نشر DOMPurify في بيئات الإنتاج المعرّضة لتجاوز كامل لأداة التعقيم عبر خلل منطق إعادة الاستنساخ (re-clone) للعنصر <selectedcontent>.
بدلاً من الاعتماد على تعليقات المصدر أو متغيرات الإصدار التي يسهل إزالتها، تستخدم هذه الأداة بصمة المنطق (logic fingerprinting) على حِزم JavaScript المُصغّرة في بيئة الإنتاج لتحديد إعدادات العلامات المسموحة غير المصححة.
في إصدارات DOMPurify حتى الإصدار 3.4.4، كان العنصر <selectedcontent> مسموحًا به افتراضيًا. ينجم عن هذا خلل منطقي حيث تقوم متصفحات Chromium/WebKit بتحديث وإعادة استنساخ الشجرة الفرعية <selectedcontent> بعد أن يكون DOMPurify قد نفّذ بالفعل مرحلة التعقيم الخاصة به، مما يسمح بتجاوز مطلق لثغرة XSS عند حقن الحمولة في DOM الحي.

# استنساخ المستودع
git clone https://github.com/Galaxy-sc/CVE-2026-47423-dompurify-xss-detector.git
cd CVE-2026-47423-dompurify-xss-detector
# التشغيل على هدف باستخدام الوسائط
go run CVE-2026-47423.go -u https://example.com
قم بتحديث dompurify إلى الإصدار 3.4.5 أو أعلى عبر مدير الحزم الخاص بك:
npm install [email protected]
إذا لم تكن الترقية الفورية ممكنة، فاحظر العلامة يدويًا في إعدادات التهيئة الخاصة بك:
DOMPurify.sanitize(userInput, { FORBID_TAGS: ['selectedcontent'] });