Gitea · Gitea · CVE-2026-58510
**Nome do Software Vulnerável e Versões Afetadas**
Gitea versões 1.25.4 até 2026-05-16
**Description**
Quando um repositório público é alterado para privado via API REST, os registros de observação (watches) não são limpos corretamente. Isso ocorre porque a função `updateRepository()`, utilizada pelo endpoint `PATCH /api/v1/repos/{owner}/{repo}`, não chama a função `ClearRepoWatches`, diferentemente do caminho utilizado pela interface web. Consequentemente, usuários cujo acesso foi revogado ainda podem visualizar o repositório agora privado no endpoint `GET /api/v1/user/subscriptions?private=true`, expondo metadados sensíveis como a descrição do repositório, branch padrão, linguagem e lista de licenças. Além disso, este problema permite que o contador `NumWatches` permaneça inflacionado e cria um potencial de vazamento de conteúdo através de futuros caminhos de notificação que possam carecer de verificações de acesso adequadas.
**Recommendations**
Na função `updateRepository()` em `services/repository/repository.go`, adicione uma chamada para `ClearRepoWatches` imediatamente após `ClearRepoStars` quando um repositório for definido como privado.
Como mitigação temporária, evite usar o endpoint `PATCH /api/v1/repos/{owner}/{repo}` para alterar a visibilidade do repositório para privado e utilize as Configurações da interface web.