
Esta é uma análise para o CVE-2025-32433 (Erlang OTP SSH Vulnerability). Não escrevi nenhuma parte do código; apenas escrevi comentários descrevendo o que o código faz e instruções para configurar o servidor e realizar o exploit você mesmo.
Perguntas Frequentes - CVE-2025-32433
O que é Erlang OTP? Erlang é uma linguagem de programação de propósito geral. OTP (Open Telecom Platform) é uma coleção de middleware, bibliotecas e princípios de design usados para tolerância a falhas usando o BEAM VPN.
Por que esta versão do Erlang é vulnerável? OTP 26.2.5.10 é vulnerável porque o servidor SSH não rejeita corretamente certas mensagens de protocolo de conexão SSH antes de o cliente se autenticar. Fluxo típico:
O cliente conecta-se ao servidor SSH.
Cliente e servidor negociam algoritmos SSH e realizam a troca de chaves criptográficas.
Uma conexão SSH criptografada é estabelecida. -- O EXPLOIT REAL COMEÇA AQUI
O cliente inicia a autenticação do usuário, como autenticação por senha ou chave pública.
Se a autenticação for bem-sucedida, o cliente pode abrir canais SSH e solicitar operações através deles.
Por que isso é uma falha: Na versão vulnerável, o servidor pode processar certos pacotes de protocolo de conexão, incluindo SSH_MSG_CHANNEL_OPEN, antes que a autenticação do usuário seja concluída com sucesso. Um atacante pode, portanto, estabelecer a conexão de transporte SSH, mas pular a autenticação bem-sucedida do usuário, e então enviar mensagens que só deveriam ser aceitas de um usuário autenticado. Isso pode, em última análise, permitir execução remota de código sem autenticação.
Como posso replicar isso eu mesmo? Baixe e extraia isto Abra no VS Code Instale e faça login no Docker Desktop Execute o comando neste diretório: docker build -t local-erlang-ssh . Execute o comando: docker run --rm -it -p 127.0.0.1:2222:2222 local-erlang-ssh Abra um novo powershell e teste para garantir que iniciou: Test-NetConnection 127.0.0.1 -Port 2222 Aguarde um minuto e deve mostrar TcpTestSucceeded: true Vá para o arquivo python e clique em executar Agora deve mostrar no terminal o EXPLOIT Use o comando "docker ps" para obter o ID do contêiner. Em seguida, cole este comando docker exec CONTAINER_ID cat /lab.txt Deve retornar a palavra "pwned" mostrando que o exploit funcionou. Para parar o contêiner, volte ao terminal original onde você iniciou o contêiner docker e pressione Control+C (pode ser necessário fazer isso duas vezes)
Como posso proteger meus dispositivos contra esta vulnerabilidade? Se você tem um servidor SSH Erlang OTP, atualize-o para 26.2.5.11 ou posterior.
Onde posso aprender mais? Remova os "[" e "]" ao redor dos sinais de pontuação, odeio links clicáveis. Código original por Matt Keely: https[:]//github[.]com/ProDefense/CVE-2025-32433/blob/main/CVE-2025-32433.py Explicação de Matt Keely de como ele fez o código: https[:]//platformsecurity[.]com/blog/CVE-2025-32433-poc Site do NIST: https[:]//nvd.nist[.]gov/vuln/detail/CVE-2025-32433 Erlang: https[:]//www.youtube[.]com/watch?v=M7uo5jmFDUw