CVE-2026-100639: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in siyuan-note siyuan
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.
AI Analysis
Technical Summary
SiYuan v3.8.3 improperly neutralizes input during web page generation by failing to HTML-escape the data-subtype attribute when generating gutter-button markup from pasted plain-text Markdown containing Kramdown inline attribute lists. An attacker can craft Markdown with entity-encoded quotes that break out of the attribute value, injecting additional attributes such as autofocus and onfocus. When the affected gutter control receives focus, the injected JavaScript executes. In the Electron desktop app, which enables Node integration and disables context isolation, this leads to remote code execution with renderer Node.js privileges. The vulnerability is resolved in version 3.8.4.
Potential Impact
Successful exploitation allows an attacker to execute arbitrary JavaScript code with Node.js privileges in the renderer process of the Electron desktop application. This can lead to remote code execution on the victim's machine. The vulnerability requires user interaction (pasting crafted Markdown and focusing the affected control) and affects unauthenticated users (no privileges required).
Mitigation Recommendations
Upgrade SiYuan to version 3.8.4 or later, where this vulnerability is fixed. No other mitigation is required as the fix addresses the root cause.
CVE-2026-100639: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in siyuan-note siyuan
Description
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.
CVSS v4.0
Score 8.6high
Affected software
siyuan-note
siyuan
pkg:github/siyuan-note/siyuanRun on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
SiYuan v3.8.3 improperly neutralizes input during web page generation by failing to HTML-escape the data-subtype attribute when generating gutter-button markup from pasted plain-text Markdown containing Kramdown inline attribute lists. An attacker can craft Markdown with entity-encoded quotes that break out of the attribute value, injecting additional attributes such as autofocus and onfocus. When the affected gutter control receives focus, the injected JavaScript executes. In the Electron desktop app, which enables Node integration and disables context isolation, this leads to remote code execution with renderer Node.js privileges. The vulnerability is resolved in version 3.8.4.
Potential Impact
Successful exploitation allows an attacker to execute arbitrary JavaScript code with Node.js privileges in the renderer process of the Electron desktop application. This can lead to remote code execution on the victim's machine. The vulnerability requires user interaction (pasting crafted Markdown and focusing the affected control) and affects unauthenticated users (no privileges required).
Mitigation Recommendations
Upgrade SiYuan to version 3.8.4 or later, where this vulnerability is fixed. No other mitigation is required as the fix addresses the root cause.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- VulnCheck
- Date Reserved
- 2026-09-26T02:32:35.659Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 6ab7c9a5f7a7c5410652fd23
Added to database: 09/26/2026, 13:33:25 UTC
Last enriched: 09/26/2026, 14:03:59 UTC
Last updated: 09/27/2026, 04:31:29 UTC
Views: 15
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.