PT-2026-51629 · Gogs · Gogs
CVE-2026-52811
·
Publicado
2026-06-23
·
Atualizado
2026-07-30
CVSS v4.0
9.0
Crítica
| Vetor | AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H |
Nome do Software Vulnerável e Versões Afetadas
Gogs versões anteriores a 0.14.3
Descrição
Existe um problema na função
(*Repository).UploadRepoFiles onde as verificações de links simbólicos (symlinks) são realizadas apenas na folha do destino do upload usando osx.IsSymlink(targetPath), diferentemente de outras funções que validam cada componente do caminho. Um invasor com acesso de escrita ao repositório pode explorar isso realizando um upload multipart com um nome de arquivo contendo uma barra invertida literal.No Linux, essa barra invertida é preservada por
filepath.Base e posteriormente convertida em uma barra normal por pathx.Clean, permitindo que a operação de escrita seja redirecionada através de um link simbólico de diretório previamente commitado. Como iox.CopyFile utiliza os.Create sem a flag O NOFOLLOW, o sistema segue o link simbólico pai e grava dados arbitrários em qualquer local onde o ID de usuário do Gogs tenha permissões. Isso pode resultar em um acesso via SSH ao sobrescrever ~git/.ssh/authorized keys ou Execução Remota de Código (RCE) ao sobrescrever <repo>.git/hooks/post-receive. Este problema afeta instalações em Linux e macOS; versões para Windows não são afetadas.Recomendações
Atualize o Gogs para a versão 0.14.3.
Como mitigação temporária, restrinja o acesso de escrita ao repositório apenas a usuários confiáveis.
Restrinja o uso da função
(*Repository).UploadRepoFiles até que a atualização seja aplicada.Exploit
Correção
RCE
Link Following
Path traversal
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Gogs