CVE-2026-66012
KrytyczneCVSS 10.0Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 36 - wyżej niż 36% wszystkich znanych CVE
Streszczenie
SiYuan przed wersją v3.7.2 zawiera podatność na brak autoryzacji w punkcie końcowym POST /mcp, który jest chroniony tylko ogólnym sprawdzeniem uwierzytelnienia, bez wymogu roli administratora lub trybu tylko do odczytu. Umożliwia to zdalnemu, nieuwierzytelnionemu atakującemu dostęp do 31 narzędzi MCP, w tym do operacji na plikach w całym obszarze roboczym.
Ocena ryzyka
Atakujący może odczytać plik konfiguracyjny conf/conf.json zawierający accessAuthCode, api.token i cookieKey, zapisywać dowolne pliki w obszarze roboczym oraz instalować wtyczki, które wykonują się z pełnymi uprawnieniami, co prowadzi do przejęcia konta administratora.
Rekomendacja
Zaktualizuj SiYuan do wersji v3.7.2 lub nowszej. Wyłącz serwer Publish w trybie anonimowym, jeśli nie jest wymagany.
Oryginalny opis (angielski, źródło NVD)
SiYuan before v3.7.2 contains a missing authorization vulnerability in the POST /mcp kernel endpoint, which is gated only by a general auth check (model.CheckAuth) with no admin-role or read-only enforcement. This exposes 31 MCP tools, including a file tool with list/read/write/delete/rename/copy actions across the entire workspace. When the Publish server is enabled in anonymous mode (Conf.Publish.Enable=true and Conf.Publish.Auth.Enable=false), the Publish reverse proxy attaches an anonymous RoleReader JWT to proxied requests, allowing a remote unauthenticated attacker to reach /mcp. The attacker can read conf/conf.json to extract accessAuthCode, api.token, and cookieKey in plaintext, write arbitrary files in the workspace, and plant a plugin into data/plugins/ that executes with nodeIntegration:true and no contextIsolation on the next desktop launch, leading to administrator takeover.

