# CVE-2025-8110
> [!high] CVSS 8.8 - Gogs RCE via Symlink Path Traversal
> Tratamento impróprio de links simbólicos na API PutContents do Gogs permite que usuários autenticados com baixo privilégio executem código arbitrário no servidor, comprometendo instalações self-hosted do serviço Git open-source.
## Visão Geral
CVE-2025-8110 é uma vulnerabilidade de alta gravidade (CVSS 8.8) no **Gogs**, um serviço de hospedagem Git self-hosted escrito em Go e amplamente utilizado como alternativa ao GitHub/GitLab em ambientes privados e organizações que preferem infraestrutura on-premise. A falha é uma combinação de **Path Traversal** (CWE-22) com manipulação de links simbólicos na API `PutContents`, usada para criar e modificar conteúdo de repositórios.
Um usuário autenticado com acesso de escrita a qualquer repositório pode criar um link simbólico apontando para arquivos arbitrários do sistema de arquivos do servidor, incluindo arquivos de configuração, chaves SSH e outros recursos sensíveis. Ao realizar operações de leitura/escrita via a API vulnerável, o atacante consegue leitura e escrita em caminhos fora do escopo do repositório Git, podendo sobrescrever arquivos críticos do sistema e obter execução de código.
A Wiz Research documentou o impacto desta vulnerabilidade, demonstrando como a exploração pode levar a comprometimento total do servidor Gogs. A criticidade aumenta pelo contexto: instalações Gogs frequentemente armazenam código-fonte proprietário, pipelines de CI/CD, chaves de deployment e secrets de infraestrutura. Acesso ao servidor Gogs representa, portanto, acesso potencial a toda a cadeia de desenvolvimento da organização — um vetor de supply chain attack interno.
## Produtos Afetados
| Produto | Versões Vulneráveis | Versão Corrigida |
|---------|---------------------|-----------------|
| Gogs | 0.13.3 e versões anteriores | 0.13.4+ (patch: PR #8078) |
## Análise Técnica
A vulnerabilidade é classificada como **CWE-22** (Improper Limitation of a Pathname to a Restricted Directory - Path Traversal). O fluxo de exploração:
1. **Acesso com baixo privilégio:** Qualquer conta com permissão de escrita em um repositório
2. **Criação de symlink malicioso:** Via API `PutContents` criar link simbólico apontando para `/etc/passwd`, `~/.ssh/authorized_keys` ou outros arquivos sensíveis
3. **Operação no symlink:** Usar a API para ler/escrever no arquivo apontado pelo symlink
4. **Escalada:** Sobrescrever `authorized_keys` com chave SSH controlada pelo atacante para acesso shell
Esta vulnerabilidade mapeia para [[t1190-exploit-public-facing-application|T1190]] (acesso inicial) e [[t1552-unsecured-credentials|T1552]] (coleta de credenciais), podendo levar a comprometimento de supply chain via [[t1195-supply-chain-compromise|T1195]].
## Attack Flow
```mermaid
graph TB
A["🎯 Acesso inicial<br/>Conta Git com baixo privilégio<br/>Acesso a qualquer repositório"] --> B["🔗 Criar symlink malicioso<br/>API PutContents<br/>CVE-2025-8110 Path Traversal"]
B --> C["📁 Acesso a arquivos do sistema<br/>Leitura: /etc/passwd, secrets<br/>Escrita: authorized_keys"]
C --> D["🔑 Injeção de chave SSH<br/>Acesso shell persistente<br/>Sem credenciais Git"]
D --> E["⚡ Supply chain attack<br/>Modificar código-fonte<br/>Comprometer pipeline CI/CD"]
```
## Mitigação
**Ação imediata (CISA KEV):**
1. **Atualizar** Gogs para versão 0.13.4 ou superior (aplicar patch PR #8078)
2. **Restringir criação de repositórios** a usuários confiáveis enquanto o patch é aplicado
3. **Auditar** repositórios existentes para detectar symlinks criados fora do diretório git
4. **Revisar** arquivos `~/.ssh/authorized_keys` e arquivos de configuração críticos do servidor
5. **Considerar migração** para Gitea que tem manutenção mais ativa de segurança
> [!latam] Relevância para Brasil e América Latina
> O Gogs é popular entre startups de tecnologia, equipes de desenvolvimento e organizações que preferem infraestrutura própria no Brasil. Ambientes que hospedam código-fonte de aplicações financeiras, fintechs e sistemas críticos via Gogs self-hosted representam alvos de alto valor para ataques de supply chain. Um atacante com uma conta Git básica pode comprometer o servidor e, por extensão, todo o pipeline de desenvolvimento. Times de DevSecOps brasileiros devem auditar instâncias Gogs imediatamente e verificar a versão instalada.
## Referências
- [Wiz Research - Análise CVE-2025-8110](https://www.wiz.io/blog/tag/research)
- [GitHub PR #8078 - Patch Gogs](https://github.com/gogs/gogs/pull/8078)
- [NVD](https://nvd.nist.gov/vuln/detail/CVE-2025-8110)
- [CISA KEV](https://www.cisa.gov/known-exploited-vulnerabilities-catalog)
**Ver também:** [[t1190-exploit-public-facing-application|T1190]] · [[t1552-unsecured-credentials|T1552]] · [[t1195-supply-chain-compromise|T1195]] · [[t1059-unix-shell|T1059.004]] · [[m1051-update-software|M1051]] · [[m1018-user-account-management|M1018]]