CVE-2026-44588
KrytyczneStreszczenie
SiYuan to system zarządzania wiedzą, który przed wersją 3.7.0 miał problem z obsługą atrybutu aria-label. W wyniku niewłaściwego dekodowania URL, możliwe było wstrzyknięcie złośliwego kodu HTML, co prowadziło do wykonania nieautoryzowanego skryptu.
Ocena ryzyka
Organizacje korzystające z SiYuan mogą być narażone na ataki XSS, co może prowadzić do kradzieży danych lub przejęcia sesji użytkowników. Wysokie ryzyko związane z bezpieczeństwem aplikacji.
Rekomendacja
Zaleca się aktualizację SiYuan do wersji 3.7.0 lub nowszej, aby usunąć tę podatność. Dodatkowo, warto rozważyć włączenie kontekstu izolacji i zabezpieczeń webowych.
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-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-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-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.
Oryginalny opis (angielski, źródło NVD)
SiYuan is an open-source personal knowledge management system. Prior to 3.7.0, he tooltip mouseover handler in app/src/block/popover.ts reads aria-label via getAttribute and passes it through decodeURIComponent before assigning to messageElement.innerHTML in app/src/dialog/tooltip.ts:41. The encoder used at the producer side, escapeAriaLabel in app/src/util/escape.ts:19-25, only handles HTML special characters (", ', <, literal <) — it leaves %XX URL-escapes untouched. So a doc title containing %3Cimg src=x onerror=...%3E round-trips through escapeAriaLabel and the HTML attribute layer unmodified. Then decodeURIComponent on the consumer side converts %3C to a literal < character (a real <, NOT a character reference). When that string is assigned to innerHTML, the HTML5 tokenizer enters TagOpenState on the literal <, parses the <img> element, and the onerror handler fires. Because the renderer runs with nodeIntegration: true, contextIsolation: false, webSecurity: false (app/electron
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

