
Prova de conceito demonstrando injeção de comando no sistema operacional no tratamento de comandos SSH em segundo plano legado do Warp (CVE-2026-48732). Inclui simulação local da construção de comandos vulnerável e corrigida.
Este repositório é uma Prova de Conceito (PoC) da vulnerabilidade de injeção de comando do SO de alta severidade CVE-2026-48732, existente no processamento de comandos SSH em segundo plano do Warp.
Nas versões afetadas do Warp, o diretório de trabalho remoto (cwd) relatado pela sessão SSH era utilizado para construir comandos auxiliares. Como as aspas simples contidas neste caminho não eram escapadas, um host remoto, repositório ou nome de diretório controlado pelo atacante poderia escapar do argumento cd entre aspas, permitindo a execução adicional de sintaxe de shell no host remoto com os privilégios da conta SSH autenticada da vítima.
Descoberto por: saku0512 (GitHub)
Este projeto é fornecido apenas para fins educacionais e de teste de segurança ético.
O autor não se responsabiliza por qualquer uso indevido, dano ou atividade ilegal desta ferramenta. O acesso não autorizado a sistemas de computador é ilegal. Ao usar este software, você concorda em utilizá-lo apenas em ambientes para os quais tenha permissão explícita de teste de segurança.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H)>= v0.2023.03.21.08.02.stable_00v0.2026.05.06.15.42.stable_01 ou superiorNo processamento vulnerável de comandos SSH em segundo plano, ao envolver o diretório de trabalho remoto com aspas simples, o caractere de aspas simples no caminho não era escapado.
command_str.push_str(&format!("cd '{current_directory_path}' && "));
Por exemplo, se current_directory_path contivesse um valor como:
/tmp/warp-cve-2026-48732'; touch /tmp/warp_cve_2026_48732_confirmed; echo '
O comando shell gerado seria:
cd '/tmp/warp-cve-2026-48732'; touch /tmp/warp_cve_2026_48732_confirmed; echo '' && pwd
Como resultado, o comando touch inserido é interpretado pelo shell como um comando separado.
A correção escapa as aspas simples embutidas antes de colocar o caminho em um contexto shell entre aspas simples.
Certifique-se de ter o Python 3 instalado. Esta PoC simula localmente a construção do comando vulnerável, não se conectando ao Warp ou SSH.
python3 --version
Execute o script incluído.
python3 poc.py
A saída esperada inclui o comando vulnerável gerado e uma mensagem de sucesso indicando que o arquivo marcador foi criado.
[!] SUCESSO: /tmp/warp_cve_2026_48732_confirmed foi criado.
Verifique o arquivo marcador para confirmar a execução do comando.
ls -l /tmp/warp_cve_2026_48732_confirmed
Se o arquivo existir, o comportamento de injeção de comando foi confirmado na simulação local.
Após a verificação, remova o arquivo marcador.
rm -f /tmp/warp_cve_2026_48732_confirmed
Execute o construtor de comandos corrigido.
python3 poc.py --mode fixed
Na simulação corrigida, as aspas simples embutidas são escapadas, portanto o arquivo marcador não deverá ser criado.
Atualize o Warp para a versão corrigida o mais rápido possível.
A correção escapa as aspas simples embutidas no caminho remoto antes de construir o comando auxiliar SSH legado. Isso impede que o texto do caminho controlado pelo atacante escape do argumento shell entre aspas.