Podatności SiYuan
136 znanych podatności CVE w SiYuan, przetłumaczonych i ocenionych.
- CVE-2026-85584Wysokie
SiYuan przed wersją v3.8.2 zawiera podatność na odmowę usługi w mechanizmie ograniczania prób logowania Basic Auth w usłudze publikacji, który przechowuje stan nieudanych prób z użyciem nazw użytkowników kontrolowanych przez atakującego, bez limitów pojemności i zasad usuwania. Nieuwierzytelnieni atakujący mogą wysyłać powtarzane żądania uwierzytelnienia z unikalnymi nieprawidłowymi nazwami użytkowników, wyczerpując pamięć i zwiększając narzut synchronizacji, co pogarsza dostępność usługi.
- CVE-2026-85583Średnie
SiYuan przed wersją v3.8.2 zawiera podatność na path traversal w dostępnym dla czytelników endpointcie odczytu plików, który podąża za dowiązaniami symbolicznymi podczas otwierania autoryzowanych ścieżek zasobów. Atakujący z rolą czytelnika może zażądać logicznego zasobu w data/assets/, który jest dowiązaniem symbolicznym do pliku poza obszarem roboczym, i otrzymać zawartość docelowego pliku, omijając ograniczenia obszaru roboczego.
- CVE-2026-85582Średnie
SiYuan przed wersją v3.8.2 zawiera podatność na nieograniczone tworzenie sesji w obsłudze Basic Auth usługi publikacji, co pozwala uwierzytelnionym atakującym na wyczerpanie pamięci. Atakujący mogą wielokrotnie uwierzytelniać się z prawidłowymi danymi, tworząc trwałe wpisy sesji bez limitu wygaśnięcia lub pojemności, powodując nieograniczony wzrost pamięci procesu i odmowę usługi.
- CVE-2026-85581Wysokie
SiYuan przed wersją v3.8.2 zawiera podatność na odmowę usługi w nieuwierzytelnionym punkcie końcowym /api/system/uiproc, który akceptuje i przechowuje identyfikatory procesów kontrolowane przez atakującego bez limitów rozmiaru i uwierzytelniania. Atakujący mogą wysyłać powtarzane żądania z unikalnymi identyfikatorami, wyczerpując pamięć procesu i pogarszając dostępność usługi.
- CVE-2026-85580Średnie
SiYuan przed wersją v3.8.2 zawiera podatność na obejście ochrony ścieżek w handlerze dostępu do plików MCP, który używa porównań uwzględniających wielkość liter na systemach plików Linux. Atakujący mogą odczytać chroniony plik publishAccess.json, żądając ścieżek z różną wielkością liter, np. PublishAccess.json, co ujawnia poufną konfigurację i metadane dostępu do publikacji.
- CVE-2026-85579Średnie
SiYuan zawiera podatność na ujawnienie informacji w punkcie końcowym POST /api/transactions/undoState, dostępnym dla czytelników. Punkt końcowy zwraca listę peekMutatedRootIDs z globalnego stosu cofania dla podanego root ID bez filtrowania widoczności publikacji. Uwierzytelniony czytelnik, znając root ID widocznego dokumentu, może uzyskać wewnętrzne root ID innych dokumentów (w tym prywatnych lub nieopublikowanych) zmodyfikowanych w tej samej transakcji, ujawniając wewnętrzne identyfikatory i relacje między dokumentami. Treść dokumentów nie jest bezpośrednio ujawniana.
- CVE-2026-85578Średnie
SiYuan do wersji 3.8.1 zawiera podatność na obejście autoryzacji w punkcie końcowym /api/file/getFile, która pozwala czytelnikom pobierać pliki z notatników skonfigurowanych jako Visible:false. Atakujący z rolą czytelnika mogą uzyskać dostęp do prywatnych plików obszaru roboczego, w tym metadanych notatników i wewnętrznej konfiguracji, znając ukryty identyfikator notatnika i ścieżkę pliku.
- CVE-2026-85175Wysokie
SiYuan w wersjach do 3.8.1 (poprawione w 3.8.2) zawiera niekompletną listę blokad w funkcji IsForbiddenAbsPath(), która blokuje tylko conf/conf.json, ale nie ogranicza dostępu do kluczy prywatnych TLS (conf/key.pem) i CA (conf/ca.key). Ponieważ handler getFile pomija listę blokad dla roli administratora, a wszyscy uwierzytelnieni użytkownicy otrzymują rolę administratora, każdy użytkownik może pobrać te klucze przez POST /api/file/getFile. Przy włączonym TLS umożliwia to deszyfrowanie przechwyconego ruchu HTTPS i fałszowanie certyfikatów.
- CVE-2026-85174Wysokie
SiYuan przed wersją 3.8.2 zapisuje tokeny API z parametrów zapytania w postaci jawnego tekstu w dostępnym pliku dziennika, gdy żądania pełnotekstowego wyszukiwania przekraczają progi czasowe. Uwierzytelnieni atakujący mogą odczytać plik dziennika przez endpoint getFile, aby odzyskać tokeny administratora i uzyskać stały dostęp administracyjny.
- CVE-2026-82654Wysokie
SiYuan przed wersją v3.8.1 nieprawidłowo escapuje pola nazwy bloku, aliasu i notatki w funkcjach renderowania podpowiedzi, linków zwrotnych i breadcrumb. Atakujący mogą ustawić nazwę bloku zawierającą tagi HTML/script, które wykonają się, gdy inny użytkownik wyświetli dokumenty odwołujące się do tego bloku lub go wyświetlające.
- CVE-2026-82653Wysokie
SiYuan przed wersją v3.8.1 zawiera podatność na przechowywany XSS w funkcji confirmDialog(), gdzie nieescapowane nazwy pakietów i nazwy notatników są interpolowane bezpośrednio do przypisań innerHTML. Atakujący mogą przesłać złośliwe pakiety bazaar z ładunkiem HTML/script w polu nazwy, które wykonają się w przeglądarkach użytkowników podczas odinstalowywania pakietów lub odblokowywania zaszyfrowanych notatników.
- CVE-2026-82652Średnie
SiYuan przed wersją v3.8.1 nie filtruje treści z niewidocznych warstw z bloków SQL embed, kluczy widoku atrybutów i backlinków widoku atrybutów w trybie publikacji. Anonimowi czytelnicy mogą wyliczyć niewidoczne treści za pomocą tych trzech mechanizmów, mimo że administrator skonfigurował treści jako niepublikowane.
- CVE-2026-82651Średnie
SiYuan przed wersją v3.8.1 nie stosuje zabezpieczenia IsForbiddenAbsPath (wprowadzonego w GHSA-c8r8-95hg-mp34) do endpointów /history/*path i /repo/diff/*path w kernel/server/serve.go. Te trasy wymagają autoryzacji administratora, ale konstruują ścieżki plików niezależnie, więc uwierzytelniony administrator może pobrać historyczne migawki wrażliwych plików, które zabezpieczenie ma blokować, w tym data/.siyuan/publishAccess.json (hasła w trybie publikacji w postaci jawnej) oraz pliki w data/templates/.
- CVE-2026-82650Średnie
SiYuan 3.8.0 zawiera podatność na path traversal / ujawnienie wrażliwych plików w funkcji RenderTemplate (kernel/model/template.go), osiągalną przez endpoint POST /api/template/render (kernel/api/template.go). Endpoint ogranicza podaną ścieżkę tylko do katalogu roboczego (util.IsAbsPathInWorkspace), ale nie stosuje wykluczeń wrażliwych ścieżek, w przeciwieństwie do listy blokad refuseToAccess() w API plików. Pozwala to uwierzytelnionemu atakującemu na odczyt wrażliwych plików roboczych, w tym conf/conf.json, który zawiera token API i klucz podpisywania ciasteczek. Problem naprawiono w v3.8.1.
- CVE-2026-82649Wysokie
Instalator SiYuan dla Windows przed wersją 3.8.1 (dotknięte wersje >= 2.0.14) zawiera podatność na niekontrolowaną ścieżkę wyszukiwania w instalatorze NSIS, który wywołuje systemowe pliki wykonywalne, takie jak TASKKILL, po nazwie, a nie po ścieżce bezwzględnej. Ponieważ NSIS nsExec::Exec rozwiązuje te wywołania, używając ścieżki wyszukiwania obejmującej katalog startowy instalatora przed System32, atakujący, który umieści złośliwy plik wykonywalny (np. zmieniony TASKKILL.exe) w tym katalogu, może spowodować jego wykonanie podczas uruchamiania instalatora. Te wywołania występują w hooku preInit electron-buildera przed wyświetleniem strony licencji, a przy instalacji dla wszystkich użytkowników (z podniesionymi uprawnieniami) podłożony plik wykonuje się z podniesionym tokenem, co prowadzi do lokalnej eskalacji uprawnień.
- 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.
- CVE-2026-73047Średnie
SiYuan w wersjach <= 3.7.3 (poprawione w v3.7.4) zawiera podatność na wstrzyknięcie szablonów po stronie serwera w funkcji obliczeń szablonów widoku atrybutów (wprowadzonej w v3.7.0-beta.1). Silnik szablonów używa niezmodyfikowanej mapy funkcji Spriga, która nadal udostępnia funkcje env, expandenv i getHostByName, usunięte wcześniej dla CVE-2024-55660. Lokalny, niezalogowany atakujący (jądro domyślnie wiąże się z 127.0.0.1 bez kontroli dostępu per-UID) może wstrzyknąć złośliwą formułę obliczeniową, aby odczytać zmienne środowiskowe konta uruchamiającego siyuan — w tym z osobnego, nieuprzywilejowanego konta OS — oraz wykonywać zapytania DNS z pozycji sieciowej serwera.
- CVE-2026-73045Wysokie
SiYuan przed wersją 3.7.4 zawiera podatność polegającą na niewłaściwym ograniczeniu nadmiernych prób uwierzytelniania w punkcie końcowym authFilePublishAccess, co pozwala niezalogowanym atakującym na brute-force haseł publikacji poszczególnych notatników. Atakujący mogą wysyłać nieograniczoną liczbę prób odgadnięcia hasła bez ograniczania szybkości lub CAPTCHA, aby uzyskać dostęp do chronionych hasłem opublikowanych notatników.
- CVE-2026-73630Średnie
SiYuan przed wersją v3.7.4 zawiera podatność na ujawnienie informacji w endpointcie /api/filetree/authFilePublishAccess, który jest zarejestrowany tylko z CheckAuth i dostępny anonimowo. Endpoint nigdy nie ustawia kodu błędu, więc wynik jest sygnalizowany przez komunikat odpowiedzi i obecność nagłówka Set-Cookie, które różnią się w zależności od poziomu dostępu. Anonimowy atakujący może rozróżnić, czy dokument jest publiczny/nieistniejący, chroniony hasłem, czy istnieje w ukrytej lub zabronionej warstwie, potwierdzając istnienie dokumentów, do których nie ma dostępu.
- CVE-2026-73049Średnie
SiYuan przed wersją v3.7.4 zawiera podatność na ujawnienie informacji w endpointcie getAttributeViewBacklinks, który przy filtrowaniu linków zwrotnych konsultuje listę zabronionych dostępów zamiast listy widoczności. Anonimowi czytelnicy mogą podać publicznie widoczny identyfikator wiersza bazy danych, aby odkryć ukryte dokumenty, które się do niego odwołują, otrzymując nazwę bazy danych, tytuł wiersza i ścieżkę dokumentu ukrytych dokumentów.
- CVE-2026-73048Średnie
SiYuan przed wersją v3.7.4 zawiera podatność na ujawnienie informacji w endpointcie getRefIDsByFileAnnotationID, który zwraca identyfikatory bloków cytujących adnotacje PDF bez filtrowania pod kątem dostępu publikacyjnego. Atakujący mogą wyodrębnić identyfikatory bloków z zastrzeżonych dokumentów, podając identyfikatory adnotacji widoczne na opublikowanych stronach, ujawniając relacje cytowań między zabronionymi i chronionymi hasłem warstwami.
- CVE-2026-72812Średnie
SiYuan przed wersją v3.7.4 zawiera podatność na brak autoryzacji w punkcie końcowym /api/ref/refreshBacklink, która pozwala anonimowym czytelnikom na wywoływanie trwałych zapisów po stronie serwera. Atakujący mogą wywołać ten punkt końcowy z kontrolowanym identyfikatorem bloku, aby opróżnić kolejki transakcji, przeskanować wszystkie referencje globalnie i dodać zapisy do bazy danych, omijając ochronę trybu tylko do odczytu i umożliwiając ataki amplifikacji zasobów.
- CVE-2026-72810Wysokie
SiYuan przed wersją v3.7.4 zawiera podatność obejścia granic publikacji w sesjach WebSocket, która pozwala anonimowym czytelnikom otrzymywać niefiltrowane edycje. Atakujący może nawiązać połączenie WebSocket z powierzchnią publikacji i pasywnie odbierać zdarzenia treści w czasie rzeczywistym, w tym dokumenty chronione hasłem i zabronione, bez uwierzytelnienia.
- CVE-2026-73610Średnie
SiYuan przed wersją v3.7.4 zawiera podatność na ujawnienie informacji w filtrze lokalnego magazynu, który zwraca całą mapę magazynu administratora z tylko trzema kluczami zasanizowanymi. Nieuwierzytelnieni atakujący lub czytelnicy publikacji mogą pobrać historię zamkniętych kart, słowa kluczowe wyszukiwania, identyfikatory prywatnych dokumentów oraz rozwinięte ścieżki folderów, wywołując punkt końcowy getLocalStorage.
- CVE-2026-73609Średnie
SiYuan przed wersją v3.7.4 zawiera podatność na ujawnienie informacji w punkcie końcowym getBookmarkLabels, który zwraca wszystkie etykiety zakładek w przestrzeni roboczej bez filtrowania pod kątem dostępu publikacji. Anonimowi czytelnicy oraz czytelnicy w trybie publikacji mogą uzyskać pełny słownik etykiet zakładek w całej przestrzeni roboczej, ujawniając tematykę i informacje organizacyjne z niedostępnych dokumentów.
- CVE-2026-73608Wysokie
Gałąź rozwojowa SiYuan (endpoint wprowadzony przez commit 9b8e8956f, nieobecny w v3.7.3 lub master, naprawiony w v3.7.4) zawiera podatność braku autoryzacji w endpointcie /api/av/getAttributeViewSearchTarget. Trasa jest zarejestrowana tylko z CheckAuth i nie wykonuje żadnych kontroli autoryzacji (brak CheckReadonly, braku kontroli dostępu publikacji lub zaszyfrowanego notatnika). Mając identyfikator bazy danych z opublikowanej strony i słowo kluczowe, anonimowy czytelnik może zapytać endpoint, aby pobrać pasujące wiersze zawartości bazy danych, w tym wiersze, które filtry publikacji (FilterAttributeViewByPublishAccess) w przeciwnym razie wstrzymałyby. Żadna wydana stabilna wersja nie jest dotknięta.
- CVE-2026-73607Średnie
SiYuan przed wersją v3.7.4 zawiera podatność na ujawnienie informacji w punkcie końcowym /api/storage/getOutlineStorage, który nie przeprowadza żadnych kontroli autoryzacji. Atakujący mogą pobrać stan konspektu, w tym identyfikatory nagłówków, dla dowolnego dokumentu, podając jego identyfikator, nawet dla dokumentów zabronionych dla żądającego.
- CVE-2026-73606Średnie
SiYuan przed wersją v3.7.4 zawiera podatność na ujawnienie informacji w punkcie końcowym /api/block/getRefIDs, który nie sprawdza poziomów dokumentów chronionych hasłem. Nieuwierzytelnieni czytelnicy mogą odkryć, że dokumenty chronione hasłem odwołują się do konkretnych bloków, i uzyskać identyfikatory bloków bez podawania hasła do dokumentu.
- CVE-2026-73605Średnie
SiYuan przed wersją 3.7.4 zawiera podatność na przechodzenie po ścieżkach w punkcie końcowym getUniqueFilename, która umożliwia anonimowym czytelnikom sprawdzanie istnienia plików bez walidacji lub ograniczeń. Atakujący mogą podawać dowolne ścieżki bezwzględne, aby ustalić, czy pliki i katalogi istnieją na hoście, co umożliwia rozpoznanie układu systemu plików i zainstalowanego oprogramowania.
- CVE-2026-72809Wysokie
SiYuan w wersjach do v3.7.2 (poprawione w v3.7.4) zawiera podatność na obejście uwierzytelniania w funkcji CheckAuth jądra, która przyznaje rolę administratora (RoleAdministrator) każdemu żądaniu, którego RemoteAddr jest pętlą zwrotną (127.0.0.1) dla określonego zestawu endpointów (w tym /api/system/exit, getNetwork, getWorkspaceInfo, /assets/* i /export/*). Te obejścia localhost znajdują się poza bramą kodu dostępu, więc działają nawet wtedy, gdy skonfigurowano kod dostępu. Ponieważ odwrotne proxy na stałym porcie przekazuje żądania do jądra przez pętlę zwrotną bez wstrzykiwania tokena uwierzytelniającego i nie konfiguruje zaufanych proxy, żądanie przekazane przez to proxy dociera do jądra z RemoteAddr = 127.0.0.1. Jeśli proxy na stałym porcie jest powiązane z interfejsem sieciowym, może to pozwolić zdalnemu nieuwierzytelnionemu atakującemu na uzyskanie dostępu administracyjnego do dotkniętych endpointów; jednak zgodnie z poradą to zdalne przekazywanie zostało ustalone tylko przez inspekcję kodu i nie zostało odtworzone end-to-end.
- CVE-2026-72808Średnie
SiYuan w wersjach do v3.7.2 (poprawione w v3.7.4) zawiera podatność na ujawnienie informacji w punkcie końcowym /api/asset/getFileAnnotation, który zwraca zawartość plików adnotacji PDF .sya bez sprawdzania uprawnień publikacji. Ponieważ punkt końcowy jest chroniony tylko przez CheckAuth (w przeciwieństwie do trasy /assets/*, która egzekwuje uprawnienia publikacji i hasło), anonimowy czytelnik (gdy uwierzytelnianie publikacji jest wyłączone) lub dowolny RoleReader publikacji, który zna ścieżkę zasobu, może odczytać prywatne adnotacje PDF (podświetlenia i notatki) dokumentów zabronionych do publikacji, chronionych hasłem lub nieopublikowanych. Problem dotyczy tylko niezaszyfrowanych notatników; adnotacje z zaszyfrowanych skrzynek nie są ujawniane.
- CVE-2026-72807Wysokie
SiYuan w wersjach przed v3.7.4 zawiera podatność na wstrzyknięcie SQL drugiego rzędu w kolumnach szablonów widoku atrybutów, które udostępniają funkcję queryBlocks, wykonującą surowe SQL przy użyciu podstawiania ciągów zamiast sparametryzowanych zapytań. Atakujący mogą rozpowszechniać złośliwe dokumenty SiYuan lub pakiety z spreparowanymi kolumnami szablonów, które wykonują dowolne SQL na jądrze ofiary, gdy pakiet jest importowany i renderowany, umożliwiając odczyt i zapis w notatnikach.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

