CVE-2026-101092
ŚrednieCVSS 5.3Streszczenie
W wersjach SiYuan przed v3.8.4 endpoint getCurrentAttrViewImages nie egzekwuje sprawdzania uprawnień publikacji, co pozwala czytelnikom publikacji pobierać ścieżki do zasobów obrazów z nieautoryzowanych baz danych. Atakujący może wywołać ten endpoint z identyfikatorem nierenderowanej bazy uzyskanym przez powiązane endpointy, aby wyciec ścieżki i nazwy plików obrazów z odłączonych wierszy, które endpoint renderujący by odrzucił.
Ocena ryzyka
Nieuwierzytelniony lub nisko uprzywilejowany czytelnik publikacji może uzyskać dostęp do ścieżek i nazw plików obrazów z baz danych, do których nie powinien mieć dostępu, co stanowi wyciek informacji. Może to ujawnić strukturę danych i nazwy zasobów organizacji.
Rekomendacja
Zaktualizuj SiYuan do wersji v3.8.4 lub nowszej, która egzekwuje sprawdzanie uprawnień publikacji w endpoincie getCurrentAttrViewImages. Do czasu aktualizacji rozważ ograniczenie dostępu do publikacji lub monitorowanie nietypowych wywołań tego endpointu.
Inne podatności w SiYuan
Zobacz wszystkie- CVE-2026-101091Wysokie
SiYuan w wersjach przed v3.8.4 nieprawidłowo waliduje instrukcje SQL w blokach osadzających zapytania SQL wykonywanych na siyuan.db. Atakujący mogą tworzyć złośliwe dokumenty .sy z instrukcjami SQL innymi niż tylko do odczytu, które są wykonywane automatycznie podczas indeksowania w tle, renderowania lub operacji eksportu bez uwierzytelniania.
- 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.
Oryginalny opis (angielski, źródło NVD)
SiYuan before v3.8.4 fails to enforce publish-access checks in the getCurrentAttrViewImages endpoint, allowing publish readers to retrieve image asset paths from unauthorized databases. Attackers can call the endpoint with an unrendered database identifier obtained through related endpoints to leak detached-row image asset paths and filenames that the rendering endpoint would deny.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

