CRITICAL🇬🇧 English

CVE-2026-40322

B3Log SiYuan: XSS w diagramach Mermaid eskaluje do RCE w Electron

CVSS 9.0v3.1pub. 2026-04-16upd. 2026-04-20

SiYuan w wersjach 3.6.3 i wcześniejszych umożliwia wykonanie dowolnego kodu poprzez złośliwy blok diagramu Mermaid osadzony w notatce. W środowisku desktopowym (Electron) podatność XSS eskaluje do pełnego remote code execution bez interakcji użytkownika poza kliknięciem wyrenderowanego diagramu.

Pokaż oryginał (EN)

SiYuan is an open-source personal knowledge management system. In versions 3.6.3 and below, Mermaid diagrams are rendered with securityLevel set to "loose", and the resulting SVG is injected into the DOM via innerHTML. This allows attacker-controlled javascript: URLs in Mermaid code blocks to survive into the rendered output. On desktop builds using Electron, windows are created with nodeIntegration enabled and contextIsolation disabled, escalating the stored XSS to arbitrary code execution when a victim opens a note containing a malicious Mermaid block and clicks the rendered diagram node. This issue has been fixed in version 3.6.4.

🤖 Analiza AI
Jak działa

Biblioteka Mermaid jest skonfigurowana z parametrem securityLevel ustawionym na 'loose', co powoduje, że wygenerowany kod SVG jest wstrzykiwany do DOM przez innerHTML bez odpowiedniego sanityzowania. Pozwala to na przetrwanie atakujących adresów URL w schemacie javascript: w wyrenderowanym wyjściu (stored XSS). Na platformie desktopowej okna Electron tworzone są z włączoną opcją nodeIntegration oraz wyłączoną opcją contextIsolation, co usuwa granicę bezpieczeństwa między kodem JavaScript a Node.js API. W rezultacie, gdy ofiara otworzy notatkę ze złośliwym blokiem Mermaid i kliknie wyrenderowany węzeł diagramu, dochodzi do wykonania dowolnego kodu z uprawnieniami procesu aplikacji.

Skutki

Atakujący może uzyskać pełną kontrolę nad systemem ofiary — wykonać dowolny kod w kontekście procesu Electron z dostępem do Node.js API, co umożliwia odczyt i zapis plików, wykonywanie poleceń systemowych oraz dalszy lateral movement w środowisku ofiary.

Mitygacja

Należy zaktualizować SiYuan do wersji 3.6.4, w której podatność została naprawiona. Patch dostępny jest w oficjalnym repozytorium GitHub pod adresem https://github.com/siyuan-note/siyuan/releases/tag/v3.6.4

Kogo dotyczy

B3Log SiYuan w wersjach 3.6.3 i wcześniejszych, szczególnie w kompilacjach desktopowych opartych na Electron (Windows, macOS, Linux).

Uwagi

Podatność wymaga interakcji użytkownika (kliknięcia wyrenderowanego węzła diagramu), jednak wystarczy samo otwarcie notatki i kliknięcie diagramu — co w kontekście narzędzia do zarządzania wiedzą jest naturalnym działaniem użytkownika. Złośliwa notatka może być udostępniona ofierze przez dowolny kanał wymiany treści (np. współdzielone notebooki, import plików).

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H
  • B3log Siyuan

    APP
    B3Log
    < 3.6.4
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCEXSS
CWE
Referencje

Powiązane podatności

CVE-2026-39846CRITICAL9.0PL ✓ten sam produkt

RCE przez stored XSS w kliencie desktopowym B3Log SiYuan

CVE-2026-34449CRITICAL9.6PL ✓ten sam produkt

RCE w SiYuan poprzez nadmiernie permisywną politykę CORS

CVE-2026-34448CRITICAL9.0PL ✓ten sam produkt

Stored XSS → RCE w B3Log SiYuan via złośliwy URL w Attribute View

CVE-2026-33670CRITICAL9.8PL ✓ten sam produkt

Path Traversal w B3Log SiYuan — nieautoryzowane odczytywanie struktury plików

CVE-2026-33669CRITICAL9.8PL ✓ten sam produkt

B3Log SiYuan — nieuprawniony odczyt treści dokumentów przez API

CVE-2026-40322 — B3Log SiYuan: XSS w diagramach Mermaid eskaluje do RCE w Electron — CRITICAL 9.0 | CVEbaza.pl