Katalog CVE

CVE-2026-100639

WysokieCVSS 8.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Streszczenie

SiYuan v3.8.3 nie escapuje HTML atrybutu data-subtype podczas generowania znaczników przycisków gutter (app/src/protyle/gutter/button.ts, przypisywane przez innerHTML w app/src/protyle/gutter/index.ts) z zawartości wklejonej jako zwykły tekst Markdown zawierający listę atrybutów inline Kramdown (IAL). Ponieważ współdzielony renderer Lute parsuje Kramdown IAL z wejścia text/plain, wrogi fragment Markdown używający encji cudzysłowów w data-subtype wychodzi z wartości atrybutu, gdy znaczniki gutter są ponownie parsowane przez przeglądarkę, wstrzykując dodatkowe atrybuty takie jak autofocus i onfocus. Jeśli ofiara wklei spreparowany Markdown i dotknięty element gutter otrzyma fokus, wstrzyknięty handler zostanie wykonany; w aplikacji Electron z nodeIntegration i wyłączonym contextIsolation prowadzi to do wykonania JavaScript z uprawnieniami Node.js renderera (zdalne wykonanie kodu).

Ocena ryzyka

Atakujący może nakłonić ofiarę do wklejenia złośliwego Markdown, co prowadzi do wykonania dowolnego kodu na hoście w aplikacji desktopowej. Dotyczy to użytkowników SiYuan w wersji 3.8.3 i wcześniejszych.

Rekomendacja

Zaktualizuj SiYuan do wersji 3.8.4. Unikaj wklejania niezaufanego Markdown do edytora i rozważ wyłączenie nodeIntegration w aplikacji desktopowej.

Inne podatności w SiYuan

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

SiYuan v3.8.3 fails to HTML-escape the data-subtype attribute when generating gutter-button markup (app/src/protyle/gutter/button.ts, assigned via innerHTML in app/src/protyle/gutter/index.ts) from content pasted as plain-text Markdown containing a Kramdown inline attribute list (IAL). Because the shared Lute renderer parses Kramdown IAL from text/plain input, an attacker-supplied Markdown snippet using entity-encoded quotes in data-subtype breaks out of the attribute value when the gutter markup is re-parsed by the browser, injecting additional attributes such as autofocus and onfocus. If a victim pastes the crafted Markdown and the affected gutter control receives focus, the injected handler executes; in the Electron desktop application, where the main BrowserWindow enables Node integration and disables context isolation, this results in JavaScript execution with renderer Node.js privileges (remote code execution). Fixed in v3.8.4.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS