CVE-2026-93921
ŚrednieCVSS 4.3Streszczenie
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.
Ocena ryzyka
Atakujący z tokenem tylko do odczytu może uzyskać dostęp do metadanych zastrzeżonych dokumentów, co może ujawnić poufne informacje o strukturze i zawartości. Może to prowadzić do wycieku informacji wewnętrznych.
Rekomendacja
Zaktualizuj SiYuan do wersji nowszej niż 3.8.4. Do czasu aktualizacji rozważ ograniczenie dostępu do punktu końcowego getDynamicIcon lub weryfikację tokenów dostępu.
Inne podatności w SiYuan
Zobacz wszystkie- 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-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-92986Wysokie
SiYuan przed wersją 3.8.4 renderuje tytuły dokumentów jako HTML w drzewie backlinków bez escapowania znaków znaczników. Atakujący może ustawić złośliwe tytuły przez API zmiany nazwy lub spreparowane notatniki, aby wykonać skrypty w rendererze Electron z dostępem do child_process i wykonaniem poleceń.
- CVE-2026-92985Wysokie
SiYuan w wersjach przed 3.8.4 nie escapuje etykiet zakładek importowanych z plików notatnika podczas renderowania ich w drzewie dock. Atakujący może przygotować złośliwe pliki .sy z nieescapowanym HTML w atrybutach zakładek, co prowadzi do wykonania skryptów w rendererze Electron z dostępem do child_process.
- 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.
Oryginalny opis (angielski, źródło NVD)
SiYuan versions through 3.8.4 fail to enforce publish access control in the getDynamicIcon endpoint, allowing read-only token holders to access document metadata. Attackers can call the endpoint with type=8 and crafted content to read block titles, names, aliases, and hierarchical paths of restricted documents via template injection.

