Um resumo sobre uma vulnerabilidade com exploração confirmada (listada no KEV da CISA): o que acontece, o que é afetado e o que fazer — do ponto de vista do defensor, sem passos de reprodução.
- CVE
- CVE-2026-60004
- Severidade
- Crítica (CVSS 9,8, v3.1; a pontuação registrada no NVD é atribuída à autoridade de numeração de CVEs)
- Classe
- Injeção de código (CWE-94)
- Impacto
- Um hook Git malicioso é instalado → comandos executados como o usuário do sistema operacional do Gitea
- Afetados
- Gitea 1.17 – 1.27.0 segundo o aviso do fornecedor. Corrigido na 1.27.1
- Exploração
- Listada no KEV da CISA (adicionada em 25 de agosto de 2026, prazo em 28 de agosto). Uso em campanhas de ransomware registrado como "Desconhecido"
- Probabilidade
- EPSS 0,868 (do nosso feed em 2026-09-05) — faixa mais alta
Não leia "privilégios necessários" como tranquilidade
Leitura A (descrição da CISA)
"um atacante com acesso de escrita ao repositório" — parece condicional
Leitura B (vetor CVSS)
PR:N — nenhum privilégio necessário
↓ o aviso do fornecedor explica as duas
Com o registro aberto ativado
registrar-se → criar um repositório → conceder a si mesmo o acesso de escrita que o ataque precisa
Buscar conforto em "mas exige o privilégio X" é uma forma comum de avaliar mal uma vulnerabilidade. A pergunta não é quem tem esse privilégio, mas se o privilégio pode ser obtido de fora. Registro aberto, cadastro sem convite, permissões concedidas por padrão — um privilégio com um caminho de obtenção não é, na prática, uma condição.
Isso é o mesmo que o item ② em erros comuns de segurança são falhas de premissa. E verifique o caminho de registro via HTTP, e não no arquivo de configuração (autenticação versus autorização).
Qual é a falha
- Caminho
- O endpoint
diffpatchlida incorretamente com a aplicação de patches em clones temporários compartilhados - Resultado
- Um hook Git malicioso (
hooks/post-index-change) pode ser instalado - Gatilho
- O hook é executado como o usuário do sistema operacional do Gitea quando o Git grava o índice
- Acessível a partir daí
- Segredos da aplicação, credenciais de banco de dados, tokens OAuth, repositórios montados
- Pré-condições
- O fornecedor indica que a exploração requer Git 2.32+, a rota
diffpatchhabilitada e um sistema de arquivos temporário gravável e executável
Um hook Git plantado permanece após a atualização, então atualizar não é o fim
Esta falha termina com algo executável deixado no servidor. A atualização fecha o caminho que o instala; ela não remove nada que já tenha sido instalado.
Um hook Git é projetado como um ponto legítimo de execução remota, então, depois de instalado, não parece suspeito. O que separa a manutenção legítima de uma backdoor é apenas quem o criou, com qual permissão e se ele aparece no registro. Depois de corrigir a falha, verifique se o atacante deixou algo para trás. Não pule essa etapa.
O que fazer
Atualize para a 1.27.1 ou posterior (a ação principal)
O aviso do fornecedor indica como afetadas as versões 1.17 – 1.27.0 e como correção a 1.27.1. Comece por aqui. Ninguém atualiza uma instância self-hosted por você. Verifique primeiro a versão em execução, como descrito em o playbook de remediação de CVEs.
Verifique de fato a configuração de registro
Como dito acima, o registro aberto é o que efetivamente remove a condição de privilégio. Não se limite a ler a configuração — abra a página de registro sem estar logado e veja o que acontece. Em uma instância interna, desative o registro e restrinja o acesso na camada de rede, em vez de depender apenas da autenticação.
Procure hooks e arquivos que você não reconhece
Depois de atualizar, verifique scripts nos diretórios de hooks dos repositórios que você não colocou ali, executáveis inesperados e tráfego de saída incomum do processo do Gitea. A pergunta não é "atualizamos?", mas "ficou alguma coisa para trás?".
Se um comprometimento for plausível, trate os itens acessíveis como expostos
O que o fornecedor lista como acessível são segredos da aplicação, credenciais de banco de dados e tokens OAuth. Se a sua inspeção não conseguir esclarecer a questão, lembre-se de que "não sabemos" não é "nada aconteceu" — faça a rotação deles. O tratamento de chaves está em o que é perigoso em .env e chaves de API.
Reavalie a escolha em si (sem pressa)
Executar por conta própria vem acompanhado do dever de aplicar as atualizações por conta própria. Os compromissos estão em Git self-hosted versus GitHub, qual é mais seguro. Isto não é um argumento para migrar — é um argumento para decidir com base na sua capacidade real de aplicar atualizações.
Visão deste site: CVSS e KEV medem coisas diferentes, então leia os dois
Este caso virou um exemplo prático do que escrevemos em triagem de CVEs com CVSS, EPSS e KEV. O CVSS diz quão grave é tecnicamente, a entrada da CISA diz como ela está sendo usada no campo, e o EPSS estima a probabilidade de exploração — três medições diferentes.
Aqui, o CVSS PR:N e o "acesso de escrita necessário" da CISA pareciam contraditórios. Lendo apenas um deles, você concluiria que "exige um privilégio, então pode esperar". Uma discrepância raramente é erro nos dados; é um sinal de que alguma premissa foi deixada de lado. Neste caso, o aviso do fornecedor continha a resposta (o registro aberto).
Fontes (primárias)
- Aviso de segurança do Gitea GHSA-rcr6-4jqh-j84m — github.com (afetados 1.17–1.27.0 / corrigido na 1.27.1 / a condição de privilégio e sua relação com o registro aberto / o que é acessível / as pré-condições)
- NIST NVD, "CVE-2026-60004" — nvd.nist.gov (CVSS v3.1 9,8, o vetor, CWE-94; status Analyzed)
- Catálogo de Vulnerabilidades Exploradas Conhecidas da CISA — cisa.gov (adicionada em 25 de agosto de 2026, prazo em 28 de agosto, uso em campanha de ransomware "Desconhecido")
- Gitea, "Release of 1.27.1" — blog.gitea.com
Todas verificadas em 5 de setembro de 2026. Não são publicados aqui passos de reprodução nem links para códigos de prova de conceito.
Leia a seguir
- O compromisso: Git self-hosted versus GitHub, qual é mais seguro
- Processo: o playbook de remediação de CVEs / como ler CVSS, EPSS e KEV
- Glossário: o que é uma backdoor (como pensar no que ficou para trás)