
Un escáner rápido y sencillo para detectar CVE-2025-66470 - vulnerabilidad XSS en el componente ui.interactive_image de NiceGUI.

** Escáner rápido y sencillo para detectar CVE-2025-66470 - vulnerabilidad XSS en el componente ui.interactive_image de NiceGUI.
**
| Campo | Valor |
|---|---|
| CVE | CVE-2025-66470 |
| GHSA | GHSA-2m4f-cg75-76w2 |
| Componente | ui.interactive_image |
| Afectado | NiceGUI ≤ 3.3.1 |
| Corregido | NiceGUI 3.4.0+ |
| Tipo | XSS almacenado/reflejado |
El componente ui.interactive_image renderiza contenido SVG usando la directiva v-html de Vue sin saneamiento, permitiendo XSS mediante la etiqueta <foreignObject>.
Código vulnerable:
<g v-html="content"></g>
| Archivo | Descripción |
|---|---|
nicegui_scanner.py | Escáner simple - Salida limpia de una línea por objetivo |
nicegui_xss_scanner.py | Escáner completo - Análisis detallado con informes |
git clone https://github.com/yourusername/nicegui-xss-scanner.git
cd nicegui-xss-scanner
pip install requests
Objetivo único:
python nicegui_scanner.py http://target.com/
Escaneo por lotes (desde archivo):
python nicegui_scanner.py -l targets.txt
Análisis completo:
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
| Estado | Significado |
|---|---|
| 🚨 CONFIRMED | Vulnerabilidad XSS confirmada (las 3 comprobaciones pasaron) |
| ⚠ VULN_VER | Versión vulnerable detectada, requiere pruebas manuales |
| ✓ NOT_NICEGUI | No es una aplicación NiceGUI |
Para que el XSS se marque como CONFIRMED, deben pasar las 3 comprobaciones:
<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
requestspip install requests
Esta herramienta es solo para pruebas de seguridad autorizadas. Úsala de forma responsable y únicamente en sistemas sobre los que tengas permiso para realizar pruebas.
Licencia MIT - Consulta LICENSE para más detalles.
targets.txt | Archivo de objetivos de ejemplo para escaneo por lotes |