Podatności SiYuan
167 znanych podatności CVE w SiYuan, przetłumaczonych i ocenionych.
- CVE-2026-100646Wysokie
SiYuan w wersjach do 3.8.3 włącznie ma błąd w mechanizmach uwierzytelniania (CheckAuth w kernel/model/session.go oraz IsSessionOriginAllowed w kernel/util/net.go), które zawodzą w bezpieczny sposób, gdy brakuje nagłówka Origin. Przeglądarki pomijają Origin przy nawigacjach GET cross-site top-level oraz ładowaniu podzasobów no-cors GET, a ciasteczko sesji ma SameSite=Lax, więc pojedyncze żądanie GET z wrogiej strony otrzymuje rolę RoleAdministrator. W połączeniu z sniffingiem typu zawartości na /api/network/proxy pozwala to nieuwierzytelnionemu zdalnemu atakującemu na wykonanie dowolnego skryptu w origin SiYuan, wywołanie API administratora i eksfiltrację tokenu API.
- CVE-2026-100645Wysokie
SiYuan w wersjach 3.7.0 do 3.8.4 zawiera podatność stored XSS w rendererach galerii i baz danych kanban, gdzie opisy pól nie są escapowane w atrybutach aria-label. W aplikacji desktopowej Electron z włączonym nodeIntegration atakujący może wstrzyknąć JavaScript wywołujący API Node.js child_process w celu wykonania dowolnych poleceń z uprawnieniami użytkownika.
- CVE-2026-100644Wysokie
SiYuan przed wersją 3.8.4 zawiera podatność SQL injection w punkcie końcowym zapytań grafowych, gdzie parametr dailyNoteSavePath jest łączony z SQL bez escapowania. Nieuwierzytelnieni atakujący na opublikowanych stronach z wyłączonym uwierzytelnianiem mogą wstrzyknąć SQL poprzez UNION SELECT, aby wyodrębnić dowolne wiersze z bazy danych ze wszystkich notatników.
- CVE-2026-100643Wysokie
SiYuan w wersjach przed 3.8.4 nie escapuje prawidłowo czterech przechowywanych wartości Attribute View w elementach textarea, co pozwala uwierzytelnionym atakującym wstrzyknąć JavaScript poprzez modyfikację opisów pól, źródeł szablonów, opisów opcji select lub szablonów obliczeń stopki. Atakujący mogą wykonać przechowywany JavaScript, gdy inni użytkownicy otworzą dotknięte menu bazy danych, a w aplikacji Electron z nodeIntegration prowadzi to do wykonania poleceń z uprawnieniami procesu SiYuan.
- CVE-2026-100642Wysokie
SiYuan w wersjach od 2.1.0 przed 3.8.4 zawiera podatność CSRF w gałęzi obejścia blokady ekranu CheckAuth, która przyznaje dostęp administratora żądaniom z loopback bez walidacji nagłówków Origin. Atakujący mogą tworzyć złośliwe strony internetowe, które zmuszają ofiary do zakończenia procesu jądra, odczytu konfiguracji przestrzeni roboczej i ustawień proxy oraz wywołania akcji administracyjnych poprzez żądania cross-origin bez poświadczeń z przeglądarki ofiary.
- CVE-2026-100641Wysokie
SiYuan przed wersją 3.8.4 nie escapuje HTML przechowywanej zawartości bloków fiszek przed interpolacją do znaczników listy menedżera kart. Zawartość bloku zwracana przez /api/riff/getRiffCards jest wstawiana do szablonu elementu karty w app/src/card/viewCards.ts i przypisywana do listElement.innerHTML, więc treść taka jak <img src=invalid onerror=...> staje się wykonywalnym atrybutem obsługi zdarzeń. Ponieważ główne okno SiYuan (Electron) jest tworzone z nodeIntegration i wyłączonym contextIsolation, administrator otwierający menedżer kart w przestrzeni roboczej z wrogą zawartością fiszek wykonuje skrypt atakującego w uprzywilejowanym rendererze, co może prowadzić do wykonania dowolnego kodu na hoście.
- CVE-2026-100640Średnie
SiYuan przed v3.8.4 zawiera pominięcie autoryzacji w handlerze IPC siyuan-get, które pozwala zdalnym rendererom jądra uzyskać dostęp do natywnych formatów schowka poprzez wywołanie komend clipboardReadMathML, clipboardReadOffice i clipboardReadWPS z pasującym plaintextem. Atakujący kontrolujący treść zdalnego renderera może uzyskać formuły MathML, bajty Office i bajty WPS z lokalnego schowka podczas operacji wklejania inicjowanej przez użytkownika.
- CVE-2026-100639Wysokie
SiYuan v3.8.3 nie escapuje HTML atrybutu data-subtype podczas generowania znaczników przycisków gutter (app/src/protyle/gutter/button.ts, przypisywane przez innerHTML w app/src/protyle/gutter/index.ts) z zawartości wklejonej jako zwykły tekst Markdown zawierający listę atrybutów inline Kramdown (IAL). Ponieważ współdzielony renderer Lute parsuje Kramdown IAL z wejścia text/plain, wrogi fragment Markdown używający encji cudzysłowów w data-subtype wychodzi z wartości atrybutu, gdy znaczniki gutter są ponownie parsowane przez przeglądarkę, wstrzykując dodatkowe atrybuty takie jak autofocus i onfocus. Jeśli ofiara wklei spreparowany Markdown i dotknięty element gutter otrzyma fokus, wstrzyknięty handler zostanie wykonany; w aplikacji Electron z nodeIntegration i wyłączonym contextIsolation prowadzi to do wykonania JavaScript z uprawnieniami Node.js renderera (zdalne wykonanie kodu).
- CVE-2026-100638Wysokie
SiYuan w wersjach przed 3.8.4 zawiera podatność path traversal w punkcie końcowym setNotebookIcon, która pozwala uwierzytelnionym administratorom tworzyć dowolne drzewa katalogów i zapisywać pliki poza granicami przestrzeni roboczej. Atakujący mogą podać sekwencje przejścia katalogów w parametrze notebook, aby wyjść z katalogu danych przestrzeni roboczej i zapisać pliki conf.json w dowolnych lokalizacjach dostępnych dla procesu jądra.
- CVE-2026-100637Wysokie
Wersje SiYuan przed v3.8.4 zawierają podatność typu path traversal w endpointcie checkoutRepo, która pozwala uwierzytelnionym administratorom zapisywać pliki JSON poza obszarem roboczym. Atakujący może podać parametr sessionID zawierający sekwencje przejścia katalogowego, aby nadpisać dowolne pliki JSON w istniejących katalogach zapisywalnych przez jądro poza granicami workspace.
- CVE-2026-100635Średnie
SiYuan przed v3.8.4 zawiera podatność na obejście uwierzytelniania w usłudze publikowania, gdzie ciasteczka sesji są wydawane bez atrybutów Secure i SameSite przez połączenia plaintext HTTP. Atakujący w ścieżce może przechwycić ważne ciasteczko publish-visitor-session-id z wymiany Basic Auth i odtworzyć je, aby uzyskać dostęp do uwierzytelnionych endpointów publikowania bez znajomości hasła.
- CVE-2026-100634Średnie
SiYuan przed v3.8.4 nie waliduje nadawcy ani nie ogranicza odbiorców w handlerze IPC 'siyuan-send-windows' procesu głównego Electron (app/electron/main.js). Handler ignoruje event.sender i przekazuje każdy ładunek do wszystkich okien BrowserWindow zwracanych przez BrowserWindow.getAllWindows(), w tym okien innych otwartych obszarów roboczych. Renderer połączony ze zdalnym jądrem kontrolowanym przez atakującego może wysłać {cmd: "lockscreenByMode"} i wywołać wielokrotne blokowanie niepowiązanych lokalnych okien obszarów roboczych, powodując ograniczoną odmowę usługi.
- CVE-2026-100633Średnie
SiYuan w wersjach 3.8.0–3.8.3 stosuje zabezpieczenie wrażliwych ścieżek w narzędziu plikowym MCP (util.IsForbiddenAbsPath() wywoływane z resolvePath()) tylko do dozwolonego katalogu głównego operacji rekurencyjnych, a nie do każdej rozwiązywanej ścieżki potomnej — niekompletna poprawka GHSA-c8r8-95hg-mp34. Uwierzytelniony administrator używający Agenta w aplikacji lub zewnętrznego serwera MCP może obejść denylistę chronionych plików obszaru roboczego: file.grep może zwracać pasujące linie z chronionych potomków, file.copy może kopiować chronionych potomków do zwykłej ścieżki, a unzip może nadpisywać chronionych potomków. Naprawiono w wersji 3.8.4.
- CVE-2026-93923Wysokie
SiYuan do wersji 3.8.4 nie escapuje atrybutów stylu nagłówków podczas renderowania HTML konspektu i zakładek, co pozwala na przechowywany cross-site scripting. Atakujący może dostarczyć spreparowane notatniki lub wywołać endpointy administracyjne, aby wstrzyknąć złośliwe wartości stylu, które wykonają się w rendererze Electron z pełnym dostępem do systemu.
- CVE-2026-93922Wysokie
SiYuan do wersji 3.8.4 renderuje nazwy notatników jako surowy HTML w oknie wyboru Daily Note bez escapowania, co pozwala na przechowywany cross-site scripting w rendererze Electron. Atakujący może tworzyć notatniki z ładunkami HTML w nazwach, które wykonają JavaScript z dostępem do Node.js po otwarciu okna wyboru, umożliwiając wykonanie poleceń systemowych.
- CVE-2026-93921Średnie
SiYuan w wersjach do 3.8.4 nie egzekwuje kontroli dostępu do publikacji w punkcie końcowym getDynamicIcon, umożliwiając posiadaczom tokenów tylko do odczytu dostęp do metadanych dokumentów. Atakujący mogą wywołać punkt końcowy z type=8 i spreparowaną treścią, aby odczytać tytuły bloków, nazwy, aliasy i ścieżki hierarchiczne zastrzeżonych dokumentów poprzez wstrzyknięcie szablonu.
- CVE-2026-93591Wysokie
SiYuan w wersjach przed 3.8.3 zawiera podatność na wstrzyknięcie SQL w funkcji query2Stmt w graph.go, gdzie wartości tagów są konkatenowane bezpośrednio do literałów SQL bez escapowania pojedynczych cudzysłowów. Czytelnik w trybie publikacji lub anonimowy odwiedzający może wstrzyknąć SQL poprzez inline HTML span tags w endpoincie getGraph, aby wykonać dowolne zapytania na bazie danych z prawem zapisu i wyeksfiltrować prywatne dane z notesów.
- CVE-2026-87815Wysokie
SiYuan przed wersją v3.8.2 zawiera podatność na przechodzenie po ścieżkach w punkcie końcowym /api/riff/removeRiffDeck, który nie waliduje parametru deckID. Uwierzytelniony administrator może podać sekwencje przechodzenia po ścieżkach, aby usunąć dowolne pliki .deck i .cards poza katalogiem roboczym.
- CVE-2026-87814Wysokie
SiYuan przed wersją v3.8.2 zawiera podatność na trwały cross-site scripting w funkcji podglądu zasobów wyszukiwania, która nie koduje treści indeksowanych zasobów przed wstawieniem ich do DOM za pomocą innerHTML. Atakujący, którzy mogą umieścić spreparowane zasoby tekstowe w obszarze roboczym, mogą wykonać JavaScript w kontekście SiYuan, gdy ofiary podglądają zasoby, co umożliwia uwierzytelnione żądania API i manipulację obszarem roboczym.
- CVE-2026-87813Wysokie
SiYuan przed wersją v3.8.2 zawiera podatność na trwały cross-site scripting w liście wyników wyszukiwania zasobów, gdzie nazwy plików zasobów są interpolowane do HTML bez kodowania. Uwierzytelnieni atakujący mogą stworzyć nazwy plików zawierające złośliwy kod, który wykonuje JavaScript w przeglądarce ofiary podczas wyszukiwania zasobów, umożliwiając żądania API w tym samym kontekście i manipulację stanem aplikacji.
- CVE-2026-87812Średnie
SiYuan przed wersją v3.8.2 zawiera podatność na trwały cross-site scripting w kartach pakietów Bazaar, gdzie metadane iconURL są wstawiane bezpośrednio do atrybutów src tagów img HTML bez escapowania. Atakujący mogą wstrzykiwać złośliwe adresy URL z handlerami zdarzeń, które wykonują JavaScript w uwierzytelnionym origin SiYuan, gdy użytkownicy przeglądają listy Bazaar, umożliwiając żądania API i manipulację stanem aplikacji.
- CVE-2026-87811Wysokie
SiYuan przed wersją v3.8.2 wstawia utrwalone ścieżki szablonów notatników do atrybutów wartości wejściowych HTML bez odpowiedniego kodowania atrybutów. Atakujący mogą stworzyć złośliwe ścieżki szablonów, które wychodzą poza kontekst atrybutu i wykonują JavaScript, gdy ofiara otwiera konfigurację notatnika, umożliwiając żądania API w tym samym kontekście i manipulację stanem aplikacji.
- CVE-2026-87810Średnie
Siyuan przed wersją v3.8.2 zawiera podatność na ujawnienie informacji w punkcie końcowym POST /api/search/fullTextSearchBlock, który filtruje prywatne bloki z wyników, ale zwraca niefiltrowane liczby dopasowań. Nieuwierzytelnieni czytelnicy w trybie publikacji mogą wysyłać dowolne terminy wyszukiwania, aby dowiedzieć się, czy pasująca treść istnieje w ukrytych lub nieopublikowanych dokumentach, oraz określić liczbę pasujących bloków i stron.
- CVE-2026-87809Średnie
Siyuan przed wersją v3.8.2 nie stosuje filtrowania dostępu publikacyjnego do osadzonych bloków przed renderowaniem w punktach końcowych /api/export/preview i /api/lute/copyStdMarkdown. Atakujący z dostępem czytelnika mogą uzyskać pełną wyrenderowaną treść prywatnych, ukrytych lub wyłączonych z publikacji bloków, uzyskując dostęp do publicznych dokumentów zawierających zapytania osadzające, które wybierają te bloki.
- CVE-2026-87808Średnie
SiYuan w wersjach <= 3.8.1 zawiera niekompletną poprawkę dla CVE-2026-32767 (GHSA-j7wh-x834-p3r7). Poprzednia poprawka (commit d5e2d0bc) dodała sprawdzenie administratora dla trybu SQL (method=2) w POST /api/search/fullTextSearchBlock, ale punkt końcowy nadal nie egzekwuje granicy trybu tylko do odczytu aplikacji: dla method=2 przekazuje SQL dostarczony przez wywołującego do ścieżki zapytań bazy danych bloków bez wywoływania model.CheckReadonly lub CheckReadonlyStatementInBox. W rezultacie, gdy obszar roboczy działa w trybie tylko do odczytu (--readonly=true), uwierzytelniony administrator może wysyłać dowolny SQL przez /api/search/fullTextSearchBlock i uzyskać surowy dostęp do odczytu bazy danych bloków, mimo że dedykowany punkt końcowy /api/query/sql jest zablokowany w tym trybie. Naprawiono w v3.8.2.
- CVE-2026-87807Wysokie
SiYuan przed wersją v3.8.2 zawiera uwierzytelnioną podatność na wstrzykiwanie SQL w punkcie końcowym fullTextSearchBlock w parametrze zapytania method=1. Atakujący mogą wstrzyknąć instrukcje UNION SELECT, aby odczytać całą tabelę blocks, omijając kontrolę dostępu do publikacji i ujawniając całą zawartość dokumentów oraz wrażliwe atrybuty.
- CVE-2026-86712Wysokie
SiYuan przed wersją 3.8.2 ufa typowi MIME text/siyuan w schowku, który może być modyfikowany przez atakującego, i pomija sanityzację w obsłudze wklejania, co pozwala na wykonanie kodu w rendererze z włączonym Node.js. Atakujący mogą tworzyć złośliwe strony internetowe, które zapisują do schowka, a po wklejeniu do SiYuan, wstrzyknięte skrypty wykonują się z pełnym dostępem do Node.js przez proces główny Electrona.
- CVE-2026-86192Średnie
SiYuan przed wersją v3.8.2 nie filtruje prawidłowo prywatnych wartości komórek widoku atrybutów w punkcie końcowym getAttributeViewKeys. Czytelnicy publikacji mogą pobierać ukryte ładunki KeyValues z wierszy powiązanych z niedostępnymi dokumentami, ujawniając prywatne treści baz danych bez autoryzacji.
- CVE-2026-86191Średnie
SiYuan przed wersją v3.8.2 zawiera podatność na ujawnienie informacji w punkcie końcowym getAttributeViewKeysByID, która pozwala czytelnikom publikacji na wyliczanie prywatnych definicji kluczy widoku atrybutów bez weryfikacji widoczności nadrzędnej bazy danych. Atakujący mogą uzyskać dostęp do punktu końcowego, aby pobrać kompletne schematy kluczy, w tym wrażliwe nazwy pól i definicje relacji z ukrytych baz danych.
- CVE-2026-85585Wysokie
SiYuan przed wersją v3.8.2 zawiera podatność na nieograniczone zużycie zasobów w oprogramowaniu pośredniczącym ograniczającym współbieżność żądań, które przechowuje wpisy muteksów dla każdej unikalnej ścieżki żądania bez mechanizmu usuwania. Nieuwierzytelnieni atakujący mogą wysyłać wiele unikalnych ścieżek żądań, trwale zwiększając zużycie pamięci procesu i narzut synchronizacji, co pogarsza dostępność usługi.
- 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.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

