
Go-आधारित स्कैनर जो मिनिफाइड प्रोडक्शन JavaScript बंडलों पर लॉजिक फ़िंगरप्रिंटिंग के माध्यम से DOMPurify सैनिटाइज़र बाइपास (CVE-2026-47423) का पता लगाता है, और अनपैच्ड अनुमत-टैग लेआउट की पहचान करता है।
Go में लिखा गया एक हल्का, उच्च-प्रदर्शन वाला स्कैनर जो DOMPurify के प्रोडक्शन डिप्लॉयमेंट्स का पता लगाता है जो <selectedcontent> री-क्लोन लॉजिक दोष के माध्यम से पूर्ण सैनिटाइज़र बायपास के लिए संवेदनशील हैं।
आसानी से हटाए जाने वाले सोर्स कमेंट्स या वर्जन वेरिएबल्स पर निर्भर रहने के बजाय, यह टूल मिनिफाइड प्रोडक्शन JavaScript बंडलों पर लॉजिक फिंगरप्रिंटिंग करता है ताकि अनपैच्ड अनुमत-टैग लेआउट की पहचान की जा सके।
DOMPurify के 3.4.4 तक के संस्करणों में, <selectedcontent> एलिमेंट डिफ़ॉल्ट रूप से अनुमत था। यह एक लॉजिक दोष पेश करता है जहाँ Chromium/WebKit ब्राउज़र DOMPurify द्वारा अपना सैनिटाइज़ेशन पास पूरा करने के बाद <selectedcontent> सबट्री को रिफ्रेश और री-क्लोन करते हैं, जिससे लाइव DOM में पेलोड इंजेक्ट होने पर पूर्ण XSS बायपास हो जाता है।

# Clone the repository
git clone https://github.com/Galaxy-sc/CVE-2026-47423-dompurify-xss-detector.git
cd CVE-2026-47423-dompurify-xss-detector
# Run against a target using parameters
go run CVE-2026-47423.go -u https://example.com
अपने पैकेज मैनेजर के माध्यम से dompurify को संस्करण 3.4.5 या उच्चतर पर अपडेट करें:
npm install [email protected]
यदि तत्काल अपग्रेड संभव नहीं है, तो अपने कॉन्फ़िग लेआउट में टैग को मैन्युअल रूप से ब्लॉक करें:
DOMPurify.sanitize(userInput, { FORBID_TAGS: ['selectedcontent'] });