
CVE-2026-60004 — Gitea <= 1.27.0 Pre-Auth RCE
Dies ist ein Proof-of-Concept-Exploit für CVE-2026-60004, eine kritische Schwachstelle für Remote-Code-Ausführung in Gitea-Versionen 1.17 bis 1.27.0. Das Skript automatisiert die gesamte Exploit-Kette, von der Benutzerregistrierung bis zur Einrichtung einer stabilen, interaktiven Shell auf dem Zielserver.
Die Schwachstelle befindet sich im /diffpatch-API-Endpunkt. Durch das zweimalige Senden eines bösartigen Patches löst eine add/add-Kollision einen Drei-Wege-Merge-Fallback aus, der das --cached-Flag ignoriert und einen ausführbaren Git-Hook direkt in das GIT_DIR des Bare-Repositorys schreibt. Wenn Git den Index aktualisiert, führt es diesen Hook automatisch aus, was die Ausführung beliebiger Befehle als Gitea-Dienstkonto ermöglicht.
Da Gitea ein kompiliertes Go-Binary ohne eingebetteten PHP-Interpreter ist, schlägt das Ablegen einer herkömmlichen Webshell oft fehl, wenn kein sekundärer Webserver für deren Ausführung konfiguriert ist. Um dieses Problem zu lösen und den Exploit vollständig stabil zu machen, verwendet dieses Skript einen API-gesteuerten Ansatz:
post-index-change-Git-Hook über die -Kollision.diffpatchcmd.sh), führt ihn als Dienstkonto aus und schreibt die Ausgabe in ein Git-Blob (proof).Dadurch entsteht direkt über die Gitea-API eine voll funktionsfähige interaktive Shell, ohne dass externe Webserver oder sekundäre Interpreter erforderlich sind.
python3 poc.py https://target.com

Nach der Ausführung registriert das Skript automatisch ein Konto, platziert den bösartigen Hook und versetzt Sie in eine interaktive Shell:
---------------------------------------------------
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
...
Dieses Tool ist ausschließlich für Bildungszwecke und autorisierte Sicherheitstests, wie CTFs, gedacht. Stellen Sie sicher, dass Sie die ausdrückliche Erlaubnis haben, das Zielsystem zu testen. Der Autor übernimmt keine Verantwortung für Missbrauch oder Schäden, die durch dieses Tool verursacht werden.
Chirag Artani - https://3rag.com