
Prova de conceito de exploit para CVE-2025-8110 no Gogs <=0.13.x, permitindo bypass autenticado de symlink para escrita arbitrária de arquivos como o usuário do processo Gogs, levando à escalada local de privilégios.
Gogs <= 0.13.x. Um usuário autenticado faz commit de um symlink em um repositório e, em seguida, chama a API de "atualização de conteúdo de arquivo" (PUT /api/v1/repos/<u>/<r>/contents/<path>). O Gogs segue o symlink e grava bytes controlados pelo atacante no destino do link com os privilégios do processo Gogs. Quando o Gogs é executado como root, isso se torna uma escrita arbitrária de arquivos como root — por exemplo, inserir uma regra NOPASSWD em /etc/sudoers.d/ para escalonamento local de privilégios.
Relatado pela Wiz Research.
CVE: CVE-2025-8110
python3 -m pip install requests pillow # gogs_register.py (OCR do captcha)
# além de um binário `tesseract` no PATH (ou edite o caminho R= em gogs_register.py)
gogs_register.py - obter uma conta autenticada superando o captcha de cadastropython3 gogs_register.py [username] [password] # padrões: pocuser / PocPass123!
# tem como alvo http://127.0.0.1:3001 - edite B= para uma instância remota
gogs_symlink_root.sh - a escrita via symlink./gogs_symlink_root.sh <gogs-user> <gogs-pass> [sudo-user]
# sudo-user tem como padrão o usuário atual; grava /etc/sudoers.d/<sudo-user>
# execute no host de destino (git + curl disponíveis, Gogs acessível em 127.0.0.1:3001)
Apenas para testes de segurança autorizados e fins educacionais. Execute somente contra sistemas que você possui ou para os quais tenha permissão explícita por escrito para testar.
Autor: r3vpwnx