
NiceGUI의 ui.interactive_image 컴포넌트 내 CVE-2025-66470 - XSS 취약점을 탐지하는 빠르고 간단한 스캐너입니다.

** NiceGUI의 ui.interactive_image 컴포넌트의 XSS 취약점인 CVE-2025-66470을 탐지하는 빠르고 간단한 스캐너입니다.
**
| 필드 | 값 |
|---|---|
| CVE | CVE-2025-66470 |
| GHSA | GHSA-2m4f-cg75-76w2 |
| 컴포넌트 | ui.interactive_image |
| 영향받는 버전 | NiceGUI ≤ 3.3.1 |
| 수정된 버전 | NiceGUI 3.4.0+ |
| 유형 | Stored/Reflected XSS |
ui.interactive_image 컴포넌트는 Vue의 v-html 디렉티브를 사용하여 SVG 콘텐츠를 삭제(sanitization) 없이 렌더링하므로 <foreignObject> 태그를 통한 XSS가 가능합니다.
취약한 코드:
<g v-html="content"></g>
| 파일 | 설명 |
|---|---|
nicegui_scanner.py | 간단한 스캐너 - 대상별 깔끔한 한 줄 출력 |
nicegui_xss_scanner.py | 전체 스캐너 - 보고서와 함께 상세 분석 |
targets.txt | 일괄 스캔을 위한 샘플 대상 파일 |
git clone https://github.com/yourusername/nicegui-xss-scanner.git
cd nicegui-xss-scanner
pip install requests
단일 대상:
python nicegui_scanner.py http://target.com/
일괄 스캔 (파일에서):
python nicegui_scanner.py -l targets.txt
전체 분석:
python nicegui_xss_scanner.py http://target.com/
usage: nicegui_scanner.py [-h] [-l LIST] [--timeout TIMEOUT] [target]
NiceGUI XSS Scanner - CVE-2025-66470
positional arguments:
target Target URL
options:
-h, --help Show help message
-l, --list LIST File with URLs (one per line)
--timeout TIMEOUT Request timeout (default: 10)
╔══════════════════════════════════════════════════════════════╗
║ NiceGUI XSS Scanner - CVE-2025-66470 ║
╚══════════════════════════════════════════════════════════════╝
[*] Scanning 3 target(s)...
──────────────────────────────────────────────────────────────────────
[1/3] http://192.168.1.10:8080/... 🚨 CONFIRMED (v2.1.0)
[2/3] http://192.168.1.20:5000/... ⚠ VULN_VER (v3.3.0)
[3/3] http://example.com/... ✓ NOT_NICEGUI
──────────────────────────────────────────────────────────────────────
SUMMARY:
Total scanned: 3
XSS CONFIRMED: 1
✓ Saved: nicegui_CONFIRMED_174530.txt
| 상태 | 의미 |
|---|---|
| 🚨 CONFIRMED | XSS 취약점 확인됨 (3가지 검사 모두 통과) |
| ⚠ VULN_VER | 취약한 버전 감지됨, 수동 테스트 필요 |
| ✓ NOT_NICEGUI | NiceGUI 애플리케이션이 아님 |
XSS가 CONFIRMED로 표시되려면 3가지 검사를 모두 통과해야 합니다:
<foreignObject>
<body xmlns="http://www.w3.org/1999/xhtml">
</body>
</foreignObject>
# Comments start with #
http://target1.com/
http://target2.com:8080/
https://target3.com/login
requests 라이브러리pip install requests
이 도구는 승인된 보안 테스트 전용입니다. 책임감 있게 사용하고 테스트 권한이 있는 시스템에서만 사용하세요.
MIT 라이선스 - 자세한 내용은 LICENSE를 참조하세요.