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.
Inne podatności w SiYuan
Zobacz wszystkie- CVE-2026-45371Wysokie
SiYuan to system zarządzania wiedzą, który przed wersją 3.7.0 miał luki w zabezpieczeniach związane z 8 nieograniczonymi API, które mogły modyfikować konfigurację i indeks SQL. Użytkownicy z odpowiednim tokenem JWT mogli uzyskać dostęp do tych API, co prowadziło do nieautoryzowanych zmian w stanie serwera.
- CVE-2026-41894Wysokie
SiYuan to system zarządzania wiedzą osobistą typu open-source. Przed wersją 3.6.5 poprawka dla CVE-2026-30869 dodała jedynie listę blokowanych ścieżek, ale nie rozwiązała źródła problemu – zbędnego wywołania url.PathUnescape() w funkcji serveExport(). Uwierzytelniony atakujący może użyć podwójnego kodowania URL (%252e%252e), aby przechodzić między katalogami i czytać dowolne pliki obszaru roboczego, w tym pełną bazę danych SQLite (siyuan.db), logi jądra i wszystkie dokumenty użytkowników.
- CVE-2026-84803Krytyczne
SiYuan przed wersją 3.8.2 zawiera podatność na trwały cross-site scripting (XSS) w serwowaniu zasobów z powodu niekompletnej listy blokowanych rozszerzeń, która pomija typy plików zdolne do wykonywania skryptów. Atakujący mogą przesyłać pliki z rozszerzeniami takimi jak .xht, .ehtml, .xsl, .xbl lub .rdf, które są interpretowane jako wykonywalne typy mediów, i wykonywać JavaScript w celu kradzieży tokenów API i naruszenia bezpieczeństwa obszarów roboczych.
- CVE-2026-77086Krytyczne
SiYuan przed wersją v3.7.4 nie waliduje parametru packageName w punktach końcowych instalacji i odinstalowania Bazaar, co pozwala uwierzytelnionym administratorom na przeprowadzenie ataku typu path traversal. Atakujący z dostępem administratorskim mogą zapisywać dowolne pliki w dowolnej lokalizacji lub rekurencyjnie usuwać katalogi, podając spreparowane wartości packageName.
- CVE-2026-74800Krytyczne
SiYuan przed wersją v3.7.4 nie ustawia nagłówków Content-Disposition i X-Content-Type-Options podczas serwowania dowolnych plików, co umożliwia ataki typu stored cross-site scripting. Uwierzytelnieni atakujący mogą przesłać pliki HTML jako zasoby i wykonać skrypty z pełnym dostępem do API jądra, gdy właściciel obszaru roboczego otworzy link do zasobu.
- CVE-2026-74799Krytyczne
SiYuan przed wersją 3.7.4 rejestruje punkty końcowe debugowania Go net/http/pprof, w tym zrzuty sterty i gorutyn, bez uwierzytelniania, gdy flaga --mode nie jest ustawiona dokładnie na prod. Atakujący mogą uzyskać dostęp do /debug/pprof/heap i powiązanych punktów końcowych, aby wyodrębnić tajemnice z pamięci, w tym AccessAuthCode i klucze API dostawcy AI.
- CVE-2026-73056Krytyczne
Jądro SiYuan przed wersją 3.7.4 zawiera podatność na nieograniczone próby uwierzytelnienia w middleware CheckAuth(). Middleware akceptuje token API (Conf.Api.Token) przez nagłówek Authorization (Token/Bearer) lub parametr ?token=, a żadna z tych ścieżek nie jest chroniona mechanizmem CAPTCHA/blokady. Zdalny atakujący bez uwierzytelnienia może przeprowadzać nieograniczone automatyczne zgadywanie tokena API, szczególnie gdy skonfigurowano krótki lub słaby token, a po sukcesie uzyskuje pełny dostęp roli Administratora, umożliwiający dowolne operacje na plikach i zapytania SQL.
- CVE-2026-73053Krytyczne
SiYuan przed wersją v3.7.4 zawiera podatność na cross-site scripting w funkcji unicode2Emoji, która nie sanityzuje danych wyjściowych gałęzi codepoint. Atakujący mogą tworzyć ikony dokumentów z zakodowanym szesnastkowo znacznikiem, który wykonuje się w rendererze z włączoną integracją Node, umożliwiając wykonanie dowolnego kodu na systemie.
- CVE-2026-73052Krytyczne
SiYuan przed wersją v3.7.4 przechowuje nazwy pól widoku atrybutów bez kodowania HTML i interpoluje je bezpośrednio do elementów option przez innerHTML w menu sortowania. Atakujący mogą wstrzyknąć znaczniki, zmieniając nazwę pola bazy danych, aby wykonać dowolny JavaScript, gdy użytkownik otworzy menu sortowania, a włączona integracja Node w kliencie desktop umożliwia wykonanie kodu.
- CVE-2026-73050Krytyczne
SiYuan przed wersją v3.7.4 nie waliduje ani nie koduje pola koloru w opcjach select widoku atrybutów, co pozwala na przechowywany cross-site scripting przez osiem niekodowanych miejsc renderowania. Atakujący mogą wstrzyknąć atrybuty obsługi zdarzeń, umieszczając cudzysłowy w wartości koloru, co wykonuje dowolny JavaScript podczas przeglądania baz danych zawierających złośliwe pole select.
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.

