
CVE-2026-60004 — RCE pré-autenticação no Gitea via injeção de hook diffpatch
Este repositório contém uma ferramenta de prova de conceito para a CVE-2026-60004, um vetor de execução remota de código (RCE) autenticado ou pré-autenticação que afeta determinadas versões do Gitea por meio da técnica de injeção de hook diffpatch. A implementação principal é um único programa em Go que executa fluxos de detecção e exploração.
Esta PoC demonstra técnicas de exploração que podem comprometer sistemas remotos. Ela é fornecida apenas para fins de pesquisa, teste e defesa. Não execute esta ferramenta contra sistemas que você não possua ou para os quais não tenha permissão explícita de teste. O autor e os colaboradores não são responsáveis pelo uso indevido.
A partir da raiz do repositório, execute:
go build -o cve-2026-60004-poc cve-2026-60004-poc.go
O binário compilado suporta vários modos: full-auto, semi-auto, manual e check.


./cve-2026-60004-poc --url http://target:3000 --mode check
./cve-2026-60004-poc --url http://target:3000 --mode full-auto
./cve-2026-60004-poc --url http://target:3000 --mode semi-auto --user attacker --pw 'P@ssw0rd'
./cve-2026-60004-poc --url http://target:3000 --mode manual --user attacker --pw 'P@ssw0rd' --repo myrepo
./cve-2026-60004-poc --url http://target:3000 --mode manual --user attacker --pw 'P@ssw0rd' --repo myrepo --cmd "whoami; id"
--url (obrigatório) : URL base do Gitea alvo (ex.: http://10.0.0.1:3000)--mode : full-auto | semi-auto | manual | check (padrão: full-auto)--user, --pw : Credenciais para os modos semi-auto/manual--repo : Nome do repositório (para o modo manual)--branch : Nome do branch (padrão: main)--cmd : Comando a executar no alvo (padrão: cat /etc/passwd)check executa verificações não intrusivas para detectar o Gitea e sondar a presença do endpoint diffpatch.full-auto tenta registrar um novo usuário (exige registro aberto), criar um repositório, entregar o payload malicioso diffpatch e recuperar a saída do hook injetado.semi-auto usa as credenciais fornecidas para criar um repositório e prosseguir com as etapas de exploração.manual exige um usuário e um repositório existentes; ele apenas tenta a entrega do exploit e (opcionalmente) a recuperação de saída.InsecureSkipVerify como true para conexões TLS, a fim de maximizar a compatibilidade durante os testes; não use esse comportamento em código de produção./api/v1/version, /user/sign_up, /api/v1/user, /api/v1/user/repos e /api/v1/repos/:owner/:repo/diffpatch.As contribuições devem se limitar a melhorias defensivas, documentação e correções não relacionadas a exploits. Não envie modificações que tornem a ferramenta mais destrutiva.
Este repositório é fornecido para fins de pesquisa e defesa. Nenhuma licença é incluída explicitamente; se você precisar de uma licença, adicione uma e garanta que ela seja compatível com o uso pretendido.
Autor: Gagaltotal666 - GhostGTR666
Esta PoC foi preparada para demonstrar a vulnerabilidade e auxiliar defensores na detecção e mitigação dela.
--count : Número de requisições diffpatch a enviar (mín. 2)--simple-hook : Usa um hook simples (ignora payload avançado)--no-retrieve : Ignora a recuperação de saída--proxy : Proxy HTTP (ex.: http://127.0.0.1:8080)--verbose, -v : Saída detalhada (verbose)--quiet, -q : Modo silencioso; imprime apenas a saída do comando--force : Ignora as verificações de validação do Gitea