CVE-2026-82650
ŚrednieCVSS 4.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 12 - wyżej niż 12% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Ryzyko polega na możliwości odczytu wrażliwych plików konfiguracyjnych, co może prowadzić do przejęcia sesji lub pełnej kompromitacji systemu.
Rekomendacja
Zaleca się natychmiastową aktualizację SiYuan do wersji v3.8.1 lub nowszej oraz rotację tokenów API i kluczy podpisywania.
Inne podatności w SiYuan
Zobacz wszystkie- CVE-2026-103763Średnie
SiYuan przed wersją v3.8.5 zawiera podatność ujawniania informacji, która pozwala czytelnikom z uprawnieniami tylko do odczytu poznać metadane dokumentów wykluczonych z publikacji za pośrednictwem punktu końcowego getNotebookInfo. Atakujący, w tym anonimowi goście, gdy nie ustawiono hasła czytelnika, mogą zapytać o widoczne publikacyjnie notatniki, aby uzyskać liczbę dokumentów, rozmiar i znaczniki czasu modyfikacji ukrytych dokumentów.
- CVE-2026-100636Wysokie
Wersje SiYuan przed v3.8.4 zawierają podatność typu path traversal w endpointcie exportBrowserHTML, która pozwala uwierzytelnionym administratorom zapisywać dowolną treść HTML do pliku index.html poza katalogiem workspace. Atakujący może podać parametr folder z sekwencjami przejścia katalogowego, aby wydostać się z katalogu eksportu i nadpisać index.html w dowolnej istniejącej lokalizacji zapisywalnej przez jądro, co umożliwia trwały XSS lub defacement workspace.
- 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.
- 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.
Oryginalny opis (angielski, źródło NVD)
SiYuan 3.8.0 contains a path traversal / sensitive file exposure vulnerability in the RenderTemplate function (kernel/model/template.go), reachable via the POST /api/template/render endpoint (kernel/api/template.go). The endpoint restricts the supplied path only to the workspace directory (util.IsAbsPathInWorkspace) but, unlike the file API's refuseToAccess() blocklist, applies no sensitive-path exclusion. This allows an authenticated attacker to read sensitive workspace files, including conf/conf.json, which contains the API token and cookie signing key. The issue is fixed in v3.8.1.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

