PT-2026-63305 · Gitea+1 · Gitea+1
CVSS v3.1
8.1
Alta
| Vetor | AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H |
Nome do Software Vulnerável e Versões Afetadas
Gitea versões anteriores a 1.27.0
Description
O Gitea não reavalia a flag
official em revisões de pull requests existentes quando o branch de destino de um pull request é alterado. Um invasor com acesso de escrita a um repositório pode obter uma aprovação official: true em um pull request direcionado a um branch não protegido e, em seguida, redirecionar esse pull request para um branch protegido. Como o sistema não verifica se o revisor está na lista de permissões (whitelist) de aprovação do novo branch de destino, a aprovação obsoleta é preservada. Isso permite que o invasor satisfaça os requisitos do branch protegido e mescle alterações sem a aprovação legítima do mantenedor, contornando efetivamente a proteção de branch e escalando privilégios.Detalhes técnicos incluem o seguinte:
- API Endpoints:
/api/v1/repos/{owner}/{repo}/pullse/api/v1/repos/{owner}/{repo}/pulls/{index}/reviewssão utilizados durante o processo de exploração. - Vulnerable Parameters or Variables: A flag
officialé armazenada como um booleano no registro de revisão e não é atualizada durante o processoChangeTargetBranch. - Function Names: O problema envolve as funções
IsUserOfficialReviewer(),ChangeTargetBranch()eGetGrantedApprovalsCount(), que falha ao re-verificar a lista de permissões em relação ao novo branch.
Recommendations
Atualize o Gitea para a versão 1.27.0 ou posterior.
Como medida de mitigação temporária, restrinja o acesso de escrita aos repositórios apenas a usuários confiáveis para evitar o redirecionamento não autorizado de pull requests.
Exploit
Correção
Improper Access Control
Incorrect Authorization
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Gitea
Red Os