Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
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
Strumenti/GitHubGitHub/atlasvector/kestra-cve-2026-53576
Privilege EscalationContainer SecurityPersistence MechanismsVulnerability AnalysisExploitationPost-ExploitationPenetration TestingPapers & ResearchRed TeamingIncident ResponseLabs & Practice
2325 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
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.

Vedi Repository

RCE non autenticata in Kestra tramite bypass dell'autenticazione con percorso finale (CVE-2026-53576)

Indice

  • Sintesi esecutiva
  • 1. Riepilogo
  • 2. Versioni interessate / corrette
  • 3. Ambiente di test e verifica preliminare
  • 4. Causa principale
  • 5. Simulazione dell'attacco
  • 6. Detection Engineering
  • 7. Mappatura ATT&CK
  • 8. Remediation e hardening
  • 9. Riferimenti

Sintesi esecutiva

Kestra, una piattaforma open-source di orchestrazione di workflow, distribuiva un filtro di autenticazione che decideva se una richiesta necessitasse di credenziali verificando se l'URL terminava con /configs - un controllo pensato per esporre un unico endpoint pubblico innocuo.

Poiché il controllo esaminava solo la coda della stringa, qualsiasi richiesta il cui URL terminasse in quel modo saltava completamente l'autenticazione, inclusi gli endpoint che creano ed eseguono codice arbitrario. Il risultato: chiunque possa raggiungere via rete un'istanza Kestra vulnerabile può eseguire comandi come root senza alcuna credenziale, senza phishing, senza indovinare password, senza alcuna fase di privilege escalation.

In questo esercizio, quella singola lacuna è stata sfruttata end-to-end contro un'istanza di laboratorio self-hosted:

  • Esecuzione di codice non autenticata.
  • Scoperta di un socket Docker esposto.
  • Escalation a pieno accesso root sull'host sottostante.
  • Due meccanismi di persistenza indipendenti (una chiave backdoor SSH e un beacon pianificato).

Ogni fase è stata catturata contro la telemetria difensiva (IDS di rete, sicurezza runtime dell'host, audit Linux e log di sistema).

Impatto sul business se non patchato: compromissione completa dell'host che esegue Kestra, non solo dell'applicazione - e per estensione di qualsiasi altra cosa raggiungibile da quell'host.

Fix: aggiornare a Kestra 1.0.45 / 1.3.21 o successiva (la sola patch chiude la vulnerabilità primaria; le fasi di escalation e persistenza richiedono un fix separato e indipendente - non montare il socket Docker nei container applicativi, vedere la Sezione 8).

1. Riepilogo

Questo report documenta CVE-2026-53576, una vulnerabilità di remote code execution non autenticata con CVSS 10.0 in Kestra ≤1.3.20, causata da un bypass dell'autenticazione tramite suffisso di percorso (AuthenticationFilter.java, endsWith("/configs")).

Un attaccante che assegna al namespace e all'ID di un workflow il nome configs può creare ed eseguire comandi shell arbitrari senza credenziali, come root, all'interno del container Kestra. Corretto in 1.0.45 e 1.3.21. Lo stesso identico bug è stato segnalato anche in modo indipendente con CVE-2026-49869, che è il numero elencato nel catalogo CISA KEV legato allo sfruttamento reale in-the-wild. Entrambi dovrebbero essere citati insieme, poiché fonti pubbliche e scanner potrebbero fare riferimento all'uno o all'altro.

2. Versioni interessate / corrette

VulnerabiliKestra ≤ 1.3.20 (e pre-1.0.45 sulla linea 1.0.x)
Corrette1.0.45 / 1.3.21+
CVECVE-2026-53576
Advisory gemelloCVE-2026-49869 - stesso bug, elencato in CISA KEV (in-the-wild)

Cronologia

DataEvento
2026-06-02Rilasciata Kestra 1.3.21; il changelog fa riferimento a un "potenziale bypass dell'autenticazione nel filtro di autenticazione"
2026-06-03Rilasciata Kestra 1.0.45 sulla linea 1.0.x
2026-09-02CVE-2026-49869 (l'advisory gemello) aggiunto al catalogo CISA KEV
2026-09-22 to 09-24Questa riproduzione in laboratorio, costruzione delle detection e validazione cross-layer

3. Ambiente di test e verifica preliminare

Homelab self-hosted: - Host Debian (hostname docker, kernel 6.12.107+deb13-amd64), - Docker Engine 29.8.1. - Kestra distribuito come immagine ufficiale kestra/kestra:v1.3.20, raggiungibile tramite reverse proxy Caddy su kestra.int.atlasvec.com. - Stack di telemetria in test: Falco (runtime/eBPF, a livello host), - Suricata 8.0.3 IDS (mirror SPAN passivo), con inoltro verso Splunk.

Prima di toccare qualsiasi cosa, ho confermato che il target fosse effettivamente vulnerabile e che lo stack di telemetria fosse attivo. Ho anche acquisito uno snapshot dello stato pre-attacco per poter ripristinare una volta terminato.

Kestra in esecuzione con la versione vulnerabile: 01-kestra-version-v1.3.20

Il container stesso, attivo e raggiungibile: 06-docker-kestra-running

Le unit di Falco caricate sull'host: 02-falco-units-one-active

Falco che emette attivamente eventi (modalità eBPF moderna): 03-falco-modern-bpf-active-emitting

Il servizio di Suricata attivo: 04-suricata-systemctl-active

E il suo eve.json che scrive eventi in tempo reale: 05-suricata-eve-json-live

4. Causa principale

Qui si allineano due errori, non uno solo.

Innanzitutto, il filtro di autenticazione decide se una richiesta può saltare l'autenticazione confrontando la fine del percorso della richiesta:```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 }

Quel controllo esiste per esporre un singolo endpoint innocuo, la configurazione dell'istanza pubblica. Poiché `endsWith` legge solo la coda della stringa, non riesce a distinguere quel percorso sicuro da qualsiasi altro percorso che termini allo stesso modo.
Scarica lo strumento