Podatności SiYuan
102 znanych podatności CVE w SiYuan, przetłumaczonych i ocenionych.
- 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-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.
- CVE-2026-73046Krytyczne
SiYuan przed wersją v3.7.4 nieprawidłowo ogranicza nadmierne próby uwierzytelnienia w middleware CheckAuth(). Gałąź HTTP Basic Authentication, która chroni prawie całą powierzchnię /api/*, akceptuje kod dostępu do obszaru roboczego jako hasło Basic Auth, ale nie konsultuje bramki CAPTCHA/blokady ani nie zwiększa licznika nieudanych prób używanych przez ścieżkę logowania cookie/sesja. Pozwala to nieuwierzytelnionym zdalnym atakującym na brute-force kodu dostępu administratora z nieograniczoną liczbą automatycznych żądań i uzyskanie pełnego dostępu RoleAdministrator do jądra. Dodatkowo kod dostępu jest porównywany w czasie niestałym.
- CVE-2026-73044Krytyczne
SiYuan przed wersją v3.7.4 nie waliduje ani nie koduje wartości szerokości kolumn tabeli, co pozwala na przechowywany cross-site scripting w atrybutach style. Atakujący mogą wstrzyknąć złośliwe ładunki przez API setAttrViewColWidth, które wychodzą poza atrybuty style i wstrzykują obsługę zdarzeń na każdej komórce tabeli, wykonując dowolny kod w rendererze Electron z włączoną integracją Node.
- CVE-2026-73043Krytyczne
SiYuan przed wersją v3.7.4 zawiera podatność na zdalne wykonanie kodu w operatorze obliczeń szablonu, który renderuje szablony Go tworzone przez użytkownika i przechowuje dane wyjściowe bez sanityzacji. Atakujący mogą wstrzyknąć złośliwy HTML i JavaScript do obliczeń szablonu, które wykonują się w rendererze klienta desktop z włączoną integracją Node, umożliwiając wykonanie dowolnego kodu po otwarciu bazy danych.
- CVE-2026-73042Krytyczne
SiYuan przed wersją v3.7.4 nie koduje poprawnie metadanych menu bazy danych w interpolacji HTML, co pozwala na wykonanie skryptu z przechowywanych wartości, gdy użytkownik otwiera menu grupy, widoku lub edycji pól. Atakujący mogą wstrzyknąć znaczniki przez opisy lub nazwy pól, które zamykają zawierające elementy i wykonują dowolny kod przez obsługę zdarzeń, docierając do wbudowanych funkcji Node z powodu niebezpiecznej konfiguracji Electron.
- CVE-2026-73041Krytyczne
SiYuan przed wersją v3.7.4 nie waliduje ani nie koduje pól adnotacji zapisywanych na dysku przez endpoint setFileAnnotation. Atakujący mogą wstrzyknąć złośliwe znaczniki do pól adnotacji, które wykonują się jako skrypt w rendererze PDF z pełnym dostępem do Node.js, gdy użytkownik otworzy opatrzony adnotacjami plik PDF.
- CVE-2026-72811Krytyczne
SiYuan w wersjach <= v3.7.2 zawiera podatność na wstrzyknięcie SQL w zapytaniu wyszukiwania backlink/mention (kernel/model/backlink.go), które łączy przechowywane metadane bloków (tytuł, nazwa, alias, tekst kotwicy) oraz słowo kluczowe dostarczone przez klienta w zapytanie SQL MATCH/search, escapując tylko podwójny cudzysłów, a nie pojedynczy. Pojedynczy cudzysłów w słowie kluczowym klienta (pierwszego rzędu, osiągalny przez anonimowego użytkownika lub użytkownika RoleReader na powierzchni publikacji) lub w przechowywanych metadanych dokumentu (drugiego rzędu) przełamuje literał łańcuchowy. Ponieważ zapytanie jest wykonywane na głównym uchwycie siyuan.db z możliwością układania instrukcji, atakujący może wykonać dowolny SQL, umożliwiając odczyt i zapis między notatnikami. Naprawione w v3.7.4.
- CVE-2026-69085Krytyczne
SiYuan przed wersją v3.7.3 zawiera lukę wstrzyknięcia SQL w punkcie końcowym /api/filetree/searchDocs, gdzie dostarczony przez wywołującego parametr keyword jest łączony bezpośrednio z instrukcjami SQL bez escapowania lub wiązania parametrów. Punkt końcowy jest osiągalny przez token publish RoleReader lub nieuwierzytelnionych użytkowników, gdy tryb publikacji jest włączony z Publish.Auth.Enable ustawionym na false. Ponieważ instrukcja jest wykonywana na uchwycie SQLite do odczytu i zapisu za pomocą sterownika obsługującego instrukcje składowane (rozdzielone średnikami), atakujący może odczytywać i modyfikować zawartość bazy danych we wszystkich notatnikach w postaci jawnego tekstu (niezaszyfrowanych) w instancji.
- CVE-2026-69084Krytyczne
SiYuan w wersjach <= v3.7.2 udostępnia punkt końcowy /api/search/searchEmbedBlock, który przekazuje dostarczoną przez klienta instrukcję SQL dosłownie do głównego uchwytu siyuan.db z możliwością odczytu i zapisu, bez ograniczeń dotyczących pojedynczej instrukcji, tylko do odczytu lub administracyjnych. Punkt końcowy jest chroniony tylko przez CheckAuth, co czyni go osiągalnym przez token publish RoleReader oraz przez anonimowych użytkowników, gdy uwierzytelnianie publikacji jest wyłączone. Ponieważ sterownik wykonuje instrukcje składowane, atakujący może odczytywać i modyfikować zawartość wszystkich otwartych notatników w postaci jawnego tekstu (notatniki szyfrowane per-box są wykluczone). Poprawiono w v3.7.3.
- CVE-2026-69083Krytyczne
SiYuan przed wersją v3.7.3 zawiera luki wstrzyknięcia SQL w punkcie końcowym fullTextSearchAssetContent, osiągalnym przez nieuwierzytelnionych użytkowników i tokeny publish RoleReader. Atakujący mogą wykonać dowolne SQL na bazie danych asset-content z możliwością odczytu i zapisu za pomocą nieescapowanych parametrów metod i klauzul REGEXP, aby odczytać, zmodyfikować lub usunąć dane między notatnikami.
- CVE-2026-66395Krytyczne
SiYuan desktop przed wersją 3.7.2 zawiera podatność na odbity XSS w handlerze readme wtyczek bazaar. Atakujący może stworzyć złośliwy link siyuan://, który po kliknięciu przez ofiarę wykonuje kod JavaScript z pełnym dostępem do Node.js poprzez insertAdjacentHTML w niebezpiecznie skonfigurowanym Electronie.
- CVE-2026-66012Krytyczne
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.
- CVE-2026-65606Krytyczne
SiYuan przed wersją v3.7.2 zawiera podatność na cross-site scripting w handlerze protokołu siyuan://. Gdy link siyuan://plugins/<name> odnosi się do nieistniejącej wtyczki, aplikacja otwiera zakładkę i wstawia parametr ikony linku do nagłówka zakładki przez innerHTML bez eskejpowania, umożliwiając wstrzyknięcie elementu <img onerror=...>. Ponieważ renderer desktopowy SiYuan działa z nodeIntegration:true, wstrzyknięty JavaScript może uzyskać dostęp do require Node i wywołać require('child_process').execSync(...), eskalując XSS do dowolnego wykonania poleceń systemu operacyjnego.
- CVE-2026-65605Krytyczne
SiYuan przed wersją v3.7.2 zawiera podatność na przechowywane cross-site scripting w renderowaniu komórek widoku atrybutów (bazy danych). Wartość kolumny szablonu jest renderowana jako HTML przez text/template bez auto-eskejpowania, a EscapeHTML jest stosowany tylko gdy HasUnclosedHtmlTag zwraca true; ponieważ zbalansowane samozamykające się tagi, takie jak <img>, są pomijane przez to sprawdzenie, ładunek taki jak <img src=x onerror=...> jest przechowywany bez eskejpowania i później wstawiany do strony przez innerHTML, wykonując się podczas przeglądania bazy danych. Ponieważ renderer desktopowy działa z włączonym nodeIntegration, wstrzyknięty skrypt może uzyskać dostęp do require i eskalować do dowolnego wykonania poleceń.
- CVE-2026-55570Krytyczne
SiYuan to otwartoźródłowy system zarządzania wiedzą osobistą, który przed wersją 3.7.0 nie uciekał niezaufanych pól (nazwa, wersja, autor, opis) podczas serializacji do atrybutu HTML data-obj każdego karty rynkowej. W wyniku tego, pakiet zawierający pojedynczy cudzysłów mógł wstrzyknąć dowolny kod HTML, co prowadziło do eskalacji z DOM XSS do wykonania dowolnych poleceń systemowych.
- CVE-2026-54067Krytyczne
SiYuan to otwartoźródłowy system zarządzania wiedzą osobistą. W wersjach przed 3.7.0, fragment CSS zawierający </style> powoduje wyjście z otaczającego tagu <style>, co umożliwia wykonanie dowolnego kodu JavaScript w rendererze. W przypadku desktopowych wersji Electron, renderer działa z nodeIntegration:true, co pozwala na dostęp do require('child_process') z wstrzykniętego handlera, co prowadzi do zdalnego wykonania kodu (RCE).
- CVE-2026-56395Krytyczne
SiYuan przed wersją 3.6.1 nie sanitizuje metadanych pakietów oraz treści README w rynku Bazaar, co pozwala złośliwym autorom pakietów na wstrzykiwanie dowolnego HTML i JavaScript. Atakujący mogą uzyskać zdalne wykonanie kodu na każdym użytkowniku przeglądającym Bazaar, osadzając ładunki XSS w polach displayName, opisu lub README.
- CVE-2026-44670Krytyczne
SiYuan to otwartoźródłowy system zarządzania wiedzą osobistą. W wersjach przed 3.7.0, nazwy widoków atrybutów są przechowywane bez HTML escape, co prowadzi do możliwości wstrzyknięcia HTML i wykonania kodu Node.js w rendererze.
- CVE-2026-44588Krytyczne
SiYuan to system zarządzania wiedzą, który przed wersją 3.7.0 miał problem z obsługą atrybutu aria-label. W wyniku niewłaściwego dekodowania URL, możliwe było wstrzyknięcie złośliwego kodu HTML, co prowadziło do wykonania nieautoryzowanego skryptu.
- CVE-2026-39846Krytyczne
SiYuan przed wersją 3.6.4 zawiera podatność na przechowywany XSS, która umożliwia zdalne wykonanie kodu w kliencie desktopowym Electron. Atakujący może zaimportować spreparowaną notatkę do zsynchronizowanego obszaru roboczego, a po jej otwarciu przez ofiarę kod JavaScript wykona się z dostępem do API Node.js.
- CVE-2026-34449Krytyczne
SiYuan, system zarządzania wiedzą osobistą, w wersjach przed 3.6.2 pozwala złośliwej stronie internetowej na zdalne wykonanie kodu (RCE) na pulpicie użytkownika. Dzieje się tak przez nadmiernie liberalną politykę CORS (Access-Control-Allow-Origin: * + Access-Control-Allow-Private-Network: true), która umożliwia wstrzyknięcie kodu JavaScript przez API. Wstrzyknięty kod wykonuje się w kontekście Node.js Electrona z pełnym dostępem do systemu operacyjnego przy następnym otwarciu interfejsu SiYuan. Do ataku nie jest wymagana żadna interakcja użytkownika poza odwiedzeniem złośliwej strony podczas działania SiYuan.
- CVE-2026-34448Krytyczne
SiYuan przed wersją 3.6.2 pozwala na przechowywany XSS poprzez atrybut URL w polu Asset View. W kliencie Electron XSS eskaluje do wykonania dowolnych poleceń systemowych z powodu włączonego nodeIntegration i wyłączonego contextIsolation.
- CVE-2026-23852Krytyczne
SiYuan, system zarządzania wiedzą osobistą, w wersjach przed 3.5.4 zawiera podatność na trwały Cross-Site Scripting (XSS), umożliwiającą atakującemu wstrzyknięcie dowolnych atrybutów HTML do atrybutu `icon` bloku za pośrednictwem API `/api/attr/setBlockAttrs`. Ładunek jest później renderowany w funkcji dynamicznych ikon w niesanitowanym kontekście, co prowadzi do trwałego XSS, a w środowisku desktopowym potencjalnie do zdalnego wykonania kodu (RCE). Podatność omija wcześniejszą poprawkę dla problemu #15970. Wersja 3.5.4 zawiera zaktualizowaną poprawkę.
- CVE-2026-82234Wysokie
SiYuan przed wersją v3.8.1 zawiera podatność na SSRF w narzędziach agenta http_request i web_fetch, które wykonują rozwiązywanie DNS tylko w czasie guard, bez walidacji rozwiązywania w czasie połączenia. Atakujący mogą użyć DNS rebinding, aby odpowiedzieć na guard rozwiązywaniem z publicznym IP, a na połączenie z prywatnym lub metadata IP, omijając obronę SSRF i uzyskując dostęp do metadanych instancji chmury i usług wewnętrznych.
- CVE-2026-82233Średnie
SiYuan przed wersją v3.8.1 zawiera podatność na path traversal w narzędziu MCP asset.upload, które akceptuje dowolne bezwzględne ścieżki plików bez walidacji granic workspace. Atakujący może nakłonić agenta AI do przesłania wrażliwych plików, takich jak klucze SSH lub dane uwierzytelniające, spoza workspace do katalogu zasobów poprzez wstrzyknięcie promptu.
- CVE-2026-62204Średnie
SiYuan przed wersją v3.7.4 nie weryfikuje, czy packageName odpowiada zawartości pobranego pakietu w punktach instalacji bazaar. Atakujący z dostępem same-origin mogą nadpisać istniejące zaufane wtyczki, podając niezgodne parametry packageName i repoURL, osiągając trwałość po ponownym uruchomieniu aplikacji.
- CVE-2026-60084Wysokie
SiYuan w wersjach przed v3.7.4 zawiera podatność na dowolne usuwanie plików w punkcie końcowym /api/search/removeTemplate, który akceptuje niezweryfikowany parametr ścieżki przekazywany bezpośrednio do os.RemoveAll. Uwierzytelnieni atakujący z uprawnieniami administratora mogą podać bezwzględne ścieżki systemu plików, aby rekurencyjnie usunąć dowolne pliki lub katalogi, do których proces jądra ma uprawnienia, w dowolnym miejscu systemu plików hosta.
- CVE-2026-60083Średnie
SiYuan przed wersją v3.8.0 zawiera niekompletną listę blokowanych ścieżek w narzędziu plikowym MCP, które nie ogranicza dostępu do wrażliwych plików obszaru roboczego chronionych przez API HTTP. Uwierzytelnieni administratorzy mogą odczytać hasła w trybie publikacji w postaci zwykłego tekstu z pliku data/.siyuan/publishAccess.json oraz uzyskać dostęp do innych wrażliwych plików, takich jak data/templates i data/snippets/conf.json.
- CVE-2026-59809Średnie
SiYuan przed wersją v3.8.0 interpoluje sekretne placeholdery do parametru docelowego URL narzędzia http_request MCP, co pozwala atakującym na eksfiltrację przechowywanych sekretów. Klient MCP może utworzyć żądanie z kontrolowanym przez atakującego URL zawierającym sekretne placeholdery, aby wysłać jawne wartości sekretów do dowolnego publicznego hosta bez potwierdzenia.
- CVE-2026-75917Wysokie
SiYuan przed wersją v3.7.4 zawiera podatność cross-site scripting w generowaniu dymków po najechaniu w selektorze drzewa plików (app/src/util/pathName.ts, getLeaf()/movePathTo()) używanym w oknach wyboru ścieżki 'move/link to', gdzie pola metadanych dokumentu (zakładka, alias, notatka i alternatywne pole nazwy) są łączone w atrybut HTML aria-label bez escapowania. Dokument ze znakiem cudzysłowu w którymkolwiek z tych pól może wyrwać się z kontekstu atrybutu i wstrzyknąć dowolne atrybuty HTML, w tym wbudowane procedury obsługi zdarzeń (np. onmouseover). Ponieważ każde okno Electron SiYuan działa z nodeIntegration:true, contextIsolation:false i bez CSP, wstrzyknięty handler uzyskuje dostęp do require('child_process'), co eskaluje XSS do dowolnego wykonania poleceń systemu operacyjnego, gdy ofiara tylko najedzie na złośliwy wpis dokumentu w oknie wyboru ścieżki. Złośliwe dokumenty docierają do ofiar przez udostępnianie, synchronizację lub import.
- CVE-2026-75916Wysokie
SiYuan do wersji 3.7.3 zawiera podatność cross-site scripting w wyskakującym oknie autouzupełniania referencji bloków '(('. W funkcji genHintItemHTML() (app/src/protyle/hint/extend.ts) pola nazwy, aliasu i notatki kandydata są łączone w HTML wyskakującego okna bez escapowania. Atakujący, który może ustawić te pola metadanych na bloku, może wstrzyknąć samouruchamiający się ładunek (np. <img src=x onerror=...>), który wykonuje się automatycznie, gdy ofiara wpisze '((' i wyszuka termin, który ujawni spreparowany blok. Ponieważ okna Electron SiYuan działają z włączonym nodeIntegration, wyłączonym contextIsolation i bez CSP, wstrzyknięty skrypt uzyskuje dostęp do require('child_process'), co pozwala na eskalację XSS do dowolnego wykonania poleceń systemu operacyjnego.
- CVE-2026-74906Wysokie
SiYuan przed wersją v3.7.4 zawiera podatność na nieprawidłową autoryzację w ośmiu punktach końcowych trybu publikacji, które filtrują wyniki za pomocą listy widoczności zamiast listy wyłączonych. Anonimowi odwiedzający mogą odkrywać i czytać treści z dokumentów oznaczonych jako zabronione do publikacji, uzyskując dostęp do punktów końcowych wyszukiwania, linków zwrotnych, treści zasobów, zapisanych kryteriów, ostatnich dokumentów, grafu i tagów.
- CVE-2026-74905Wysokie
SiYuan przed wersją v3.7.4 zawiera podatność na podrabianie żądań po stronie serwera (SSRF) w funkcji isPrivateIP w kernel/util/net.go, używanej przez SSRFSafeDialer do egzekwowania ochrony SSRF w trybie SafeMode. Funkcja sprawdza tylko adresy loopback, link-local unicast, prywatne i nieokreślone, ale nie rozpoznaje adresów przejściowych IPv6 (NAT64 64:ff9b::/96, 6to4 2002::/16, Teredo 2001::/32), które zawierają prywatne cele IPv4. Gdy tryb SafeMode jest włączony, uwierzytelniony atakujący może ominąć zabezpieczenie SSRF za pomocą sieciowego proxy, proxy WebSocket lub proxy SSE, podając URL, którego nazwa hosta rozwiązuje się na taki adres przejściowy, docierając do usług wewnętrznych i punktów końcowych metadanych chmury (np. 169.254.169.254). Ponieważ proxy zwraca pełną treść odpowiedzi, jest to pełny odczyt SSRF, który może być użyty do kradzieży poświadczeń instancji, dostępu do usług wewnętrznych i skanowania portów wewnętrznej infrastruktury.
- CVE-2026-74904Wysokie
SiYuan przed wersją v3.7.4 nie ma kontroli autoryzacji w 17 punktach końcowych metadanych/treści bloków w kernel/api/block.go (w tym getRefText, checkBlockExist i getBlockBreadcrumb). Te procedury obsługi są chronione tylko podstawowym uwierzytelnieniem (model.CheckAuth) i nie mają filtrowania dostępu do publikacji, co pozwala anonimowym czytelnikom trybu publikacji na ujawnianie prywatnych treści bloków, metadanych strukturalnych i informacji o istnieniu dowolnych identyfikatorów bloków w całym obszarze roboczym.
- CVE-2026-74903Średnie
SiYuan przed wersją v3.7.4 zawiera podatność niewystarczającej kontroli dostępu w punkcie końcowym /api/lute/spinBlockDOM, który jest chroniony tylko przez middleware CheckAuth zamiast CheckAdminRole jak jego sąsiedni punkt końcowy. Uwierzytelnieni użytkownicy z rolami RoleEditor lub RoleReader mogą wywołać punkt końcowy do transformacji dowolnego wejścia DOM, a duże ładunki powodują zagłodzenie punktu końcowego przez serializację mutex per-ścieżka.
- CVE-2026-74902Wysokie
SiYuan przed wersją v3.7.4 zawiera podatność na cross-site scripting w procesie walidacji przesyłania plików, która nie koduje nazw plików przed wstawieniem ich do HTML za pomocą insertAdjacentHTML. Atakujący mogą stworzyć złośliwą nazwę pliku zawierającą ładunki skryptów, które wykonują się z pełnym dostępem do systemu operacyjnego, gdy użytkownik przeciąga, upuszcza lub wkleja plik do edytora.
- CVE-2026-74868Wysokie
SiYuan przed wersją 3.7.4 zawiera podatność na nieograniczony atak brute-force w implementacji Basic Auth w Publish Service (PublishServiceTransport.RoundTrip() w kernel/server/proxy/publish.go). Publish Service działa na osobnym, domyślnie nieuwierzytelnionym nasłuchu (domyślnie port TCP 6808) i bramkuje nazwane konta publikujące (Conf.Publish.Auth.Accounts) za pomocą Basic Auth bez ograniczania szybkości, blokady konta ani backoffu. Nieuwierzytelnieni zdalni atakujący mogą wysyłać nieograniczone zgadywania haseł przeciwko nazwanym kontom, aby uzyskać dostęp do opublikowanych notatek/notatników.
- CVE-2026-74867Średnie
SiYuan przed wersją 3.7.4 zawiera podatność na cross-site request forgery w gałęzi uwierzytelniania sesyjnego ciasteczka w CheckAuth(), która nie waliduje nagłówków Origin/Referer i nie ustawia atrybutu SameSite na ciasteczkach sesyjnych. Atakujący mogą tworzyć złośliwe strony internetowe, które wykonują nieautoryzowane działania w imieniu uwierzytelnionych użytkowników, wysyłając żądania z ważnymi ciasteczkami sesyjnymi, polegając na domyślnych politykach SameSite przeglądarki zamiast na zabezpieczeniach serwera.
- CVE-2026-74802Wysokie
SiYuan przed wersją 3.7.4 zawiera podatność na cross-site WebSocket hijacking w punkcie końcowym /ws/network/proxy dostępnym tylko dla administratora, który jawnie wyłącza walidację pochodzenia, ustawiając CheckOrigin na bezwarunkowe zwracanie true. Atakujący mogą stworzyć złośliwe strony internetowe, które nawiązują połączenia WebSocket z tym punktem końcowym i kierują proces jądra SiYuan do proxy dowolnego ruchu sieciowego do wybranych przez atakującego celów, umożliwiając uwierzytelnione pivotowanie sieci przez maszynę ofiary.
- CVE-2026-74801Wysokie
SiYuan przed wersją 3.7.4 niepoprawnie escapuje ścieżki katalogów workspace podczas konstruowania argumentów wiersza poleceń dla procesu pomocniczego elevator.exe z podwyższonymi uprawnieniami. Atakujący mogą utworzyć złośliwy katalog workspace z metaznakami poleceń w ścieżce i wywołać przepływ wykluczeń Microsoft Defender, aby wykonać dowolne polecenia z uprawnieniami administratora po zatwierdzeniu UAC.
- CVE-2026-74798Wysokie
SiYuan kernel przed wersją 3.7.4 zawiera podatność na przechodzenie po ścieżkach w narzędziu MCP database_clean. Narzędzie sprawdza tylko, czy parametr id nie jest pusty, zanim przekaże go do funkcji RemoveUnusedAttributeView, która buduje ścieżkę pliku bez walidacji formatu identyfikatora. Uwierzytelniony klient MCP może użyć sekwencji przechodzenia po ścieżkach, aby skopiować dowolny plik czytelny dla procesu do katalogu historii SiYuan (odczyt dowolnego pliku), a następnie usunąć oryginalny plik (usunięcie dowolnego pliku).
- CVE-2026-73054Wysokie
SiYuan przed wersją v3.7.4 zawiera podatność na obejście uwierzytelniania w punkcie końcowym WebSocket, spowodowaną różnicowym parsowaniem parametrów zapytania między wyłączeniem uwierzytelniania a kontrolami kwarantanny sesji. Niezalogowany atakujący może skonstruować złośliwy URI WebSocket z zduplikowanymi parametrami, aby ominąć walidację kodu dostępu i otrzymywać na żywo strumień zdarzeń jądra, w tym identyfikatory dokumentów, tytuły i logi operacji.

