CVE-2026-60004: Falha Crítica no Gitea em Exploração Ativa

CVE-2026-60004: Falha Crítica no Gitea em Exploração Ativa
⚠️

ALERTA CISA KEV — Exploração Ativa Confirmada

Esta vulnerabilidade está sendo ativamente explorada em ambientes reais. Aplique o patch ou mitigação IMEDIATAMENTE.

O cenário de ameaça para ambientes de desenvolvimento e integração contínua acaba de escalar para um nível de urgência máxima: a CVE-2026-60004, uma vulnerabilidade de injeção de código no Gitea, entrou oficialmente para o catálogo KEV (Known Exploited Vulnerabilities) da CISA, confirmando CVE-2026-60004 exploração ativa vulnerabilidade em ambientes reais. A falha permite que um atacante com acesso de escrita a um repositório envie um patch malicioso à API diffpatch do Gitea, plantando um Git hook executável que roda comandos shell como a conta de serviço da aplicação. Na prática, isso significa execução remota de código (RCE) no servidor que hospeda o Gitea, afetando diretamente organizações que mantêm instâncias autogerenciadas — desde pequenas startups até grandes empresas com repositórios internos de código, credenciais de infraestrutura e segredos de produção.

A inclusão no catálogo KEV da CISA não é um evento burocrático: ela é emitida apenas quando há evidência concreta de exploração ativa em campo. A recomendação federal para agências governamentais dos EUA é de remediação em até 72 horas — o prazo mais curto estipulado pela CISA e indicativo de risco imediato. Empresas privadas, que muitas vezes não possuem os mesmos mecanismos de verificação de conformidade, frequentemente levam semanas ou meses para aplicar patches, tornando-se alvos permanentes para varreduras automatizadas e ransomware. O vetor aqui é especialmente perigoso porque não exige privilégios administrativos prévios no Gitea; o simples fato de ser um usuário com permissão de escrita em um repositório já habilita a exploração. Isso significa que o atacante pode ser um insider mal-intencionado, um colaborador comprometido ou até mesmo um bot que obteve credenciais via phishing.

Neste alerta técnico de segurança da informação, vamos destrinchar o funcionamento técnico da falha, a mecânica do ataque pelo endpoint diffpatch, os produtos e versões afetados, o impacto para ambientes corporativos sob LGPD, GDPR, PCI-DSS e HIPAA, e um roteiro passo a passo de mitigação imediata. Acompanhe também o contexto histórico comparativo com outras falhas de injeção de código em plataformas de repositório e o que a JRT Technology Solutions recomenda para detecção e resposta contínua.

Para os times de AppSec, DevSecOps e infraestrutura, o recado é um só: se você opera um Gitea autogerenciado, pare o que está fazendo e aplique o patch ou as mitigações agora. A janela de exposição já está aberta e atacantes estão efetivamente comprometendo servidores neste exato momento.

O que é a CVE-2026-60004 e sua exploração ativa

Campo Detalhe
CVE ID CVE-2026-60004
CVSS Score 8.8 — HIGH
Vetor de Ataque Network (acesso de escrita em repositório)
Produtos Afetados Gitea — versões 1.25.0 e anteriores
Tipo de Vulnerabilidade CWE-94 — Code Injection / Improper Control of Generation of Code
Data de Publicação 26/08/2026
Patch Disponível Sim — Gitea 1.25.1 (security release)
Exploração Ativa ⚠️ SIM — CISA KEV confirmada

A CVE-2026-60004 descreve uma falha de injeção de código no componente responsável pelo processamento de patches via API no Gitea, uma plataforma open source de hospedagem de repositórios Git, frequentemente usada como alternativa autogerenciada ao GitHub ou GitLab. O endpoint vulnerável, conhecido como diffpatch, é projetado para aceitar dados de patch no formato diff/patch padrão e aplicá-los a um repositório. O problema reside na validação insuficiente do conteúdo desse patch: um atacante com permissão de escrita no repositório consegue forjar um patch que, durante o processamento, modifica arquivos sensíveis dentro do diretório Git — especificamente, a pasta .git/hooks/, onde ficam os scripts de hook executados automaticamente em eventos do repositório (push, merge, pre-receive etc.).

Quando o hook é plantado com conteúdo malicioso, a próxima operação Git legítima que acionar esse hook fará com que o servidor execute o script como a conta de serviço do Gitea. Dependendo da implementação, essa conta costuma ser um usuário dedicado como git ou gitea, com privilégios limitados ao sistema operacional — porém, em muitas instalações, ela tem acesso de leitura a todos os diretórios de repositórios, a chaves SSH de deploy, a credentials armazenadas em variáveis de ambiente e, em alguns casos, a sockets de comunicação interna.

A gravidade desta falha não está apenas na execução remota de código, mas na facilidade de exploração. O atacante não precisa explorar uma falha de autenticação complexa, realizar força bruta ou obter acesso direto ao servidor. Basta ter uma conta com permissão de escrita em um único repositório. Em organizações que permitem contribuições externas, pull requests de forks públicos ou integrações de CI/CD com credenciais compartilhadas, o raio de alcance cresce exponencialmente. Um colaborador comprometido, um token de API vazado ou uma conta de serviço com permissões excessivas são vetores de entrada imediatos.

Análise Técnica Detalhada

Para compreender o alerta CVE-2026-60004 exploração ativa vulnerabilidade em profundidade, é preciso examinar o fluxo de processamento do patch no Gitea. Internamente, o Gitea implementa endpoints REST para operações de repositório, incluindo a aplicação de patches via POST /repos/{owner}/{repo}/diffpatch. Quando um patch é enviado, o servidor o repassa a um processo de aplicação que utiliza funções nativas de Git em modo pipe. O Gitea valida superficialmente o cabeçalho e o formato do patch, mas não restringe adequadamente quais caminhos dentro do repositório o patch pode tocar — uma deficiência de path traversal que permite que o conteúdo do diff alcance o diretório .git/hooks/.

O ataque conceitual funciona em quatro estágios. Primeiro, o atacante obtém uma sessão de escrita em um repositório — por credenciais legítimas, token exposto ou conta comprometida. Segundo, ele constrói um patch malicioso que, em vez de alterar código-fonte normal, adiciona um arquivo no caminho .git/hooks/post-receive ou .git/hooks/pre-push. Terceiro, ele envia esse patch ao endpoint diffpatch, que o aplica como se fosse uma contribuição comum. Quarto, o atacante dispara o hook realizando um push trivial ou aguardando que qualquer outro evento do repositório o execute. A partir desse ponto, o script roda com os privilégios da conta de serviço do Gitea, permitindo comandos shell arbitrários.

Uma característica técnica relevante é que o hook malicioso não precisa estar presente no repositório Git versionado. O diretório .git/hooks faz parte do metadado local do repositório no servidor, não do conteúdo versionado. Isso significa que a inspeção por revisão de código comum ou análise estática do código-fonte não detecta a presença do hook — apenas o próprio servidor, na pasta de trabalho do repositório, consegue vê-lo. Essa opacidade torna a detecção passiva extremamente difícil, e a persistência é garantida enquanto o diretório de trabalho não for limpo.

O CWE associado é o CWE-94, que abrange a geração imprópria de código a partir de entrada não confiável. No contexto do Gitea, a entrada não confiável é o patch enviado pelo usuário. O patch, que deveria ser tratado como dado, é parcialmente interpretado como instruções de manipulação de arquivo, permitindo a escrita fora dos limites permitidos. A severidade CVSS 8.8 é alta porque o vetor é de rede, exige privilégios baixos (escrita em repositório) e não requer interação do usuário — apenas eventos automáticos de Git.

Do ponto de vista de superfície de ataque, o endpoint diffpatch é frequentemente habilitado por padrão em instâncias Gitea. Administradores que não revisam as configurações de API de repositório podem não estar cientes de que usuários comuns de repositório têm acesso a essa funcionalidade. Além disso, integrações de CI/CD, bots de dependabot, webhooks de terceiros e mirrors automáticos frequentemente possuem tokens de escrita, alargando ainda mais a superfície explorável.

Produtos e Versões Afetados

O impacto da falha se concentra primordialmente no Gitea autogerenciado. A versão corrigida é a 1.25.1, lançada como security release em resposta à exploração ativa. Versões anteriores, incluindo toda a linha 1.24, 1.23, 1.22 e anteriores, estão comprovadamente vulneráveis. Administradores que executam o Gitea em contêiner Docker, Kubernetes, binary standalone ou compilação manual precisam verificar imediatamente a versão em execução.

  • 🔴 Crítico — Gitea 1.25.0 e todas as versões anteriores: vulnerabilidade CVE-2026-60004 explorável com acesso de escrita a repositório.
  • 🔴 Crítico — Instâncias com endpoint diffpatch habilitado por padrão: qualquer usuário com permissão de escrita pode plantar hooks maliciosos.
  • 🟠 Alto — Ambientes com conta de serviço do Gitea com privilégios excessivos: o impacto pós-exploração é agravado se a conta git/gitea tiver acesso amplo a outros diretórios, chaves SSH ou sockets Docker.
  • 🟠 Alto — Forks e contribuições externas habilitados: repositórios públicos ou organizações que aceitam pull requests de terceiros aumentam a probabilidade de um atacante obter acesso de escrita temporário.
  • 🟡 Médio — Integrações de CI/CD e tokens de serviço: bots e pipelines com tokens de escrita são alvos para roubo de credencial e subsequente exploração da falha.

Além do Gitea em si, instâncias do Gitea derivadas de forks — como Forgejo e Gitea Enterprise — podem compartilhar o mesmo núcleo vulnerável se ainda não tiverem incorporado o patch de segurança correspondente, pois o código do processamento de diffpatch é comum a essas variantes. A recomendação de verificação se estende a qualquer plataforma baseada no Gitea, especialmente se mantém compatibilidade com a API de patch padrão.

Para um panorama mais amplo, no mesmo ciclo de patches de exploração ativa foi publicada a CVE-2026-21962, envolvendo o Oracle HTTP Server e o WebLogic Server Proxy Plug-in. Embora seja um vetor e um ecossistema distintos, a coincidência de duas falhas de acesso impróprio em sistemas amplamente utilizados reforça a importância de monitorar o catálogo KEV da CISA de forma contínua. Na JRT Technology Solutions implementamos varredura contínua de CVEs para frotas corporativas, cobrindo desde servidores de repositório até middlewares Oracle, para que nenhuma das janelas de exploração ativa passe despercebida.

Como o Ataque Funciona

O ataque explorando a CVE-2026-60004 é um exemplo clássico de injeção de código com persistência em hooks de Git. Diferente de um ataque de RCE direto via upload de arquivo ou desserialização, aqui o código malicioso é entregue como um patch aparentemente legítimo, o que dificulta a detecção por sistemas de segurança que inspecionam apenas o tráfego de rede ou assinaturas de shell reverso. A sequência de exploração, descrita conceitualmente, é a seguinte:

  1. Acesso legítimo ao repositório: o atacante obtém credenciais válidas com permissão de escrita — por phishing, token vazado em repositório público, credencial padrão ou comprometimento de uma conta de serviço.
  2. Construção do patch malicioso: o atacante monta um arquivo de patch que adiciona ou modifica um arquivo no caminho .git/hooks/post-receive. Esse patch inclui um script shell com comandos como bash -c 'nc -e /bin/bash ...' ou equivalente, dependendo do sistema.
  3. Envio ao endpoint diffpatch: o patch é enviado via API POST /repos/{owner}/{repo}/diffpatch. O Gitea processa o patch sem validar que o caminho-alvo está fora do diretório de hooks.
  4. Gatilho do hook: o atacante realiza um push simples (ou qualquer operação que acione o hook). O servidor executa o script como o usuário de serviço git ou gitea.
  5. Execução remota e persistência: o atacante obtém um shell no servidor, podendo exfiltrar código-fonte, segredos, chaves de deploy, variáveis de ambiente e avançar lateralmente na infraestrutura.

Uma variação deste ataque usa o hook pre-receive em vez de post-receive, permitindo que o código malicioso execute antes mesmo que o push seja aceito. Outra variação emprega múltiplos hooks — post-merge, post-checkout — para garantir persistência mesmo que um hook seja posteriormente removido. Como os hooks não fazem parte do conteúdo versionado, a remoção manual exige acesso administrativo ao diretório de trabalho do servidor.

Pesquisadores que identificaram a exploração ativa observaram varreduras automatizadas em busca de instâncias Gitea com o endpoint diffpatch exposto e com repositórios públicos que permitem fork. A automação típica tenta a exploração minutos após receber uma conta de escrita, o que sugere que o custo de exploração é baixo e que a falha será amplamente utilizada por atacantes de oportunidade, além de grupos especializados. A cobertura da BleepingComputer destacou que hackers estão explorando a falha crítica do Gitea em ataques de injeção de código, corroborando a urgência do alerta.

Impacto da exploração ativa da CVE-2026-60004 para empresas

O impacto real de uma exploração bem-sucedida da CVE-2026-60004 varia com o nível de privilégio da conta de serviço do Gitea e com o valor dos dados armazenados no servidor. Em cenários conservadores, o servidor comprometido contém apenas código-fonte — mas mesmo nesse cenário, o vazamento de código proprietário pode gerar danos irreversíveis de propriedade intelectual. Em cenários mais graves, o servidor Gitea é também o ponto central de CI/CD, hospedando segredos de produção, credenciais de cloud, chaves SSH de serv

Sua empresa está protegida contra esta vulnerabilidade?

A JRT Technology Solutions realiza varredura de CVEs, gestão de patches e monitoramento de segurança para ambientes corporativos.



Verificar Agora

Thiago Paes Rodrigues

Com mais de 22 anos de experiência em Tecnologia da Informação, este profissional construiu uma trajetória sólida como empresário, atuando de forma estratégica na implementação de soluções tecnológicas que otimizam processos e impulsionam resultados em diferentes setores.