Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Kestra-cve-2026-53576 — End-to-end reproduction and cross-layer detection of CVE-2026-53576, the unauthenticated RCE in Kestra - taken past the base PoC to show how a common Docker-socket misconfiguration turns container-root into full host compromise. | Kitploit
Tools/GitHubGitHub/atlasvector/kestra-cve-2026-53576
Privilege EscalationContainer SecurityPersistence MechanismsVulnerability AnalysisExploitationPost-ExploitationPenetration TestingPapers & ResearchRed TeamingIncident ResponseLabs & Practice
21vor 24 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHub
atlasvector/kestra-cve-2026-53576

Kestra-cve-2026-53576

End-to-end reproduction and cross-layer detection of CVE-2026-53576, the unauthenticated RCE in Kestra - taken past the base PoC to show how a common Docker-socket misconfiguration turns container-root into full host compromise.

Repository anzeigen

Unauthentifizierte RCE in Kestra über einen Trailing-Path-Auth-Bypass (CVE-2026-53576)

Inhalt

  • Zusammenfassung für Führungskräfte
  • 1. Zusammenfassung
  • 2. Betroffene / Behobene Versionen
  • 3. Testumgebung & Vorabprüfung
  • 4. Ursache
  • 5. Angriffssimulation
  • 6. Detection Engineering
  • 7. ATT&CK-Mapping
  • 8. Behebung & Härtung
  • 9. Referenzen

Zusammenfassung für Führungskräfte

Kestra, eine Open-Source-Plattform zur Workflow-Orchestrierung, lieferte einen Authentifizierungsfilter aus, der anhand der Prüfung, ob die URL mit /configs endet, entschied, ob eine Anfrage Anmeldedaten benötigte - eine Prüfung, die eigentlich nur einen harmlosen öffentlichen Endpunkt freigeben sollte.

Da die Prüfung nur das Ende der Zeichenkette betrachtete, übersprang jede Anfrage, deren URL zufällig so endete, die Authentifizierung vollständig - einschließlich Endpunkten, die beliebigen Code erstellen und ausführen. Das Ergebnis: Jeder, der eine verwundbare Kestra-Instanz über das Netzwerk erreichen kann, kann Befehle als root ohne jegliche Anmeldedaten ausführen - kein Phishing, kein Erraten von Passwörtern, kein Schritt zur Rechteausweitung erforderlich.

In dieser Übung wurde diese einzelne Lücke durchgängig gegen eine selbst gehostete Lab-Instanz geführt:

  • Unauthentifizierte Codeausführung.
  • Entdeckung eines exponierten Docker-Sockets.
  • Eskalation zu vollständigem root-Zugriff auf dem zugrunde liegenden Host.
  • Zwei unabhängige Persistenzmechanismen (ein SSH-Backdoor-Schlüssel und ein geplanter Beacon).

Jede Phase wurde gegen defensive Telemetrie erfasst (Netzwerk-IDS, Host-Runtime-Sicherheit, Linux-Audit und Systemprotokolle).

Geschäftliche Auswirkung bei Nicht-Patchen: vollständige Kompromittierung des Hosts, auf dem Kestra läuft, nicht nur der Anwendung - und damit einhergehend alles andere, was von diesem Host aus erreichbar ist.

Behebung: Upgrade auf Kestra 1.0.45 / 1.3.21 oder später (der Patch allein schließt die primäre Schwachstelle; die Eskalations- und Persistenzphasen erfordern eine separate, unabhängige Behebung - den Docker-Socket nicht in Anwendungscontainer einbinden, siehe Abschnitt 8).

1. Zusammenfassung

Dieser Bericht dokumentiert CVE-2026-53576, eine unauthentifizierte Remote-Code-Execution-Schwachstelle mit CVSS 10.0 in Kestra ≤1.3.20, verursacht durch einen Path-Suffix-Authentifizierungs-Bypass (AuthenticationFilter.java, endsWith("/configs")).

Ein Angreifer, der den Namespace und die ID eines Workflows configs nennt, kann beliebige Shell-Befehle ohne Anmeldedaten als root innerhalb des Kestra-Containers erstellen und ausführen. Behoben in 1.0.45 und 1.3.21. Derselbe Fehler wurde auch unabhängig unter CVE-2026-49869 gemeldet, der im CISA KEV aufgeführten Nummer, die mit realer Ausnutzung in freier Wildbahn verbunden ist. Beide sollten zusammen zitiert werden, da öffentliche Quellen und Scanner auf eine der beiden verweisen können.

2. Betroffene / Behobene Versionen

VerwundbarKestra ≤ 1.3.20 (und vor 1.0.45 auf der 1.0.x-Linie)
Behoben1.0.45 / 1.3.21+
CVECVE-2026-53576
ZwillingshinweisCVE-2026-49869 - derselbe Fehler, im CISA KEV aufgeführt (in freier Wildbahn)

Zeitlinie

DatumEreignis
2026-06-02Kestra 1.3.21 veröffentlicht; Changelog verweist auf einen "potenziellen Authentifizierungs-Bypass im Authentifizierungsfilter"
2026-06-03Kestra 1.0.45 auf der 1.0.x-Linie veröffentlicht
2026-09-02CVE-2026-49869 (der Zwillingshinweis) zum CISA KEV-Katalog hinzugefügt
2026-09-22 bis 09-24Diese Lab-Reproduktion, der Detection-Aufbau und die schichtübergreifende Validierung

3. Testumgebung & Vorabprüfung

Selbst gehostetes Homelab: - Debian-Host (Hostname docker, Kernel 6.12.107+deb13-amd64), - Docker Engine 29.8.1. - Kestra bereitgestellt als offizielles kestra/kestra:v1.3.20-Image, erreichbar über einen Caddy-Reverse-Proxy unter kestra.int.atlasvec.com. - Telemetrie-Stack unter Test: Falco (Runtime/eBPF, Host-Ebene), - Suricata 8.0.3 IDS (passiver SPAN-Mirror), Weiterleitung an Splunk.

Bevor ich irgendetwas anfasste, bestätigte ich, dass das Ziel tatsächlich verwundbar war und der Telemetrie-Stack aktiv war. Ich erstellte außerdem einen Snapshot des Zustands vor dem Angriff, damit ich nach Abschluss zurückrollen konnte.

Kestra mit der verwundbaren Version: 01-kestra-version-v1.3.20

Der Container selbst, aktiv und erreichbar: 06-docker-kestra-running

Falcos Units auf dem Host geladen: 02-falco-units-one-active

Falco sendet aktiv Ereignisse (moderner eBPF-Modus): 03-falco-modern-bpf-active-emitting

Suricatas Dienst aktiv: 04-suricata-systemctl-active

Und seine eve.json, die Live-Ereignisse schreibt: 05-suricata-eve-json-live

4. Ursache

Hier treffen zwei Fehler aufeinander, nicht einer.

Erstens entscheidet der Authentifizierungsfilter, ob eine Anfrage die Authentifizierung überspringen kann, indem er das Ende des Anfragepfads abgleicht:```java // AuthenticationFilter.java — the vulnerable check, confirmed against the self-hosted v1.3.20 source if (path.endsWith("/configs")) { // treated as a public, unauthenticated path }

Diese Prüfung existiert, um einen einzigen harmlosen Endpunkt offenzulegen, die öffentliche Instanzkonfiguration. Da `endsWith` nur das Ende des Strings liest, kann es einen sicheren Pfad nicht von jedem anderen Pfad unterscheiden, der zufällig gleich endet.
Tool herunterladen