Galaxy-sc/CVE-2026-47423-dompurify-xss-detector
GitHub: Galaxy-sc/CVE-2026-47423-dompurify-xss-detector
一款用 Go 编写的轻量级扫描工具,通过逻辑指纹识别检测生产环境中 DOMPurify 3.4.4 及以下版本因「selectedcontent」标签导致的 XSS 消毒器绕过漏洞。
Stars: 0 | Forks: 0
# DOMPurify < 3.4.5 消毒器绕过检测工具 (Go)
一个使用 Go 编写的轻量级、高性能扫描工具,用于检测生产环境中是否存在容易受到 `` 重新克隆逻辑缺陷影响而导致消毒器被完全绕过的 DOMPurify 部署。
该工具不依赖于容易被剥离的源代码注释或版本变量,而是对压缩后的生产环境 JavaScript 包执行逻辑指纹识别,以识别未修补的允许标签布局。
## 漏洞概述
在 3.4.4 及以下的 DOMPurify 版本中,默认允许使用 `` 元素。这引入了一个逻辑缺陷:在 DOMPurify 执行完消毒处理*之后*,Chromium/WebKit 浏览器会刷新并重新克隆 `` 子树,当 payload 被注入到活跃的 DOM 中时,这会导致绝对的 XSS 绕过。
## 功能
- 框架无关(支持 React、Vue、Angular 或 Vanilla JS 包结构)
- 自动从根路径动态解析 JS 资产
- 对编译后的生产代码进行不区分大小写的静态分析
## 概念验证

## 使用方法
```
# Clone 仓库
git clone https://github.com/Galaxy-sc/CVE-2026-47423-dompurify-xss-detector.git
cd CVE-2026-47423-dompurify-xss-detector
# 使用 parameters 对 target 运行
go run CVE-2026-47423.go -u https://example.com
```
## 修复方案
通过您的包管理器将 `dompurify` 更新至 `3.4.5` 或更高版本:
```
npm install dompurify@3.4.5
```
如果无法立即升级,请在您的配置布局中手动屏蔽该标签:
```
DOMPurify.sanitize(userInput, { FORBID_TAGS: ['selectedcontent'] });
```
标签:CISA项目, EVTX分析, Go, Maven, Ruby工具, XSS检测, 云安全监控, 日志审计, 漏洞验证, 知识库安全, 静态分析