Podatność w systemie zarządzania wiedzą SiYuan umożliwia zdalne wykonanie kodu (RCE) na komputerze ofiary poprzez złośliwą notatkę zsynchronizowaną z innym użytkownikiem. Zagrożenie jest krytyczne, ponieważ atakujący może przejąć pełną kontrolę nad systemem ofiary bez jej aktywnego współdziałania poza otwarciem notatki.
▸ Pokaż oryginał (EN)
SiYuan is a personal knowledge management system. Prior to 3.6.4, a malicious note synced to another user can trigger remote code execution in the SiYuan Electron desktop client. The root cause is that table caption content is stored without safe escaping and later unescaped into rendered HTML, creating a stored XSS sink. Because the desktop renderer runs with nodeIntegration enabled and contextIsolation disabled, attacker-controlled JavaScript executes with access to Node.js APIs. In practice, an attacker can import a crafted note into a synced workspace, wait for the victim to sync, and achieve code execution when the victim opens the note. This vulnerability is fixed in 3.6.4.
Treść nagłówka tabeli (table caption) jest zapisywana bez bezpiecznego escapowania, a następnie wstrzykiwana bezpośrednio do renderowanego HTML — tworząc podatny punkt stored XSS. Klient desktopowy SiYuan oparty jest na Electron z włączoną opcją nodeIntegration oraz wyłączoną opcją contextIsolation, co sprawia, że osadzony JavaScript wykonuje się z pełnym dostępem do API Node.js. Atakujący importuje spreparowaną notatkę do współdzielonego workspace'u, a po synchronizacji przez ofiarę złośliwy kod wykonuje się automatycznie przy otwarciu notatki.
Atakujący uzyskuje możliwość wykonania dowolnego kodu z uprawnieniami procesu SiYuan na komputerze ofiary, co może prowadzić do pełnego przejęcia systemu, kradzieży danych lub instalacji złośliwego oprogramowania.
Należy zaktualizować SiYuan do wersji 3.6.4 lub nowszej, w której podatność została naprawiona. Podatność jest zidentyfikowana w oficjalnym security advisory producenta dostępnym w referencjach.
B3Log SiYuan w wersjach poprzedzających 3.6.4 — dotyczy klienta desktopowego (Electron) korzystającego z funkcji synchronizacji notatek.
Podatność wymaga interakcji użytkownika (UI:R) — ofiara musi otworzyć zsynchronizowaną notatkę. Exploit jest jednak praktyczny w środowiskach z automatyczną synchronizacją notatek między użytkownikami. Poprawka wprowadzona w wersji 3.6.4.
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:HB3log Siyuan
APPB3Log< 3.6.4
Powiązane podatności
B3Log SiYuan: XSS w diagramach Mermaid eskaluje do RCE w Electron
RCE w SiYuan poprzez nadmiernie permisywną politykę CORS
Stored XSS → RCE w B3Log SiYuan via złośliwy URL w Attribute View
Path Traversal w B3Log SiYuan — nieautoryzowane odczytywanie struktury plików
B3Log SiYuan — nieuprawniony odczyt treści dokumentów przez API