
Go-сканер, который обнаруживает обход санитайзера DOMPurify (CVE-2026-47423) с помощью логического фингерпринтинга на минифицированных производственных JavaScript-сборках, выявляя непатченные конфигурации разрешенных тегов.
Легкий высокопроизводительный сканер на Go для обнаружения продакшн-установок DOMPurify, уязвимых для полного обхода санитайзера через ошибку логики повторного клонирования <selectedcontent>.
Вместо того чтобы полагаться на легко удаляемые комментарии исходного кода или переменные версий, этот инструмент выполняет логическое распознавание минифицированных продакшн-пакетов JavaScript для выявления неисправленных конфигураций разрешенных тегов.
В версиях DOMPurify до 3.4.4 элемент <selectedcontent> был разрешен по умолчанию. Это создает логическую ошибку, при которой браузеры Chromium/WebKit обновляют и повторно клонируют поддерево <selectedcontent> после того, как DOMPurify уже выполнил свой проход санитизации, что приводит к абсолютному обходу XSS при внедрении полезной нагрузки в живой DOM.

# 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'] });