CVE-2026-100641: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in siyuan-note siyuan
SiYuan before v3.8.4 does not HTML-escape stored flashcard block content before interpolating it into the card-manager list markup. Block content returned by /api/riff/getRiffCards is inserted into a card item template in app/src/card/viewCards.ts and assigned to listElement.innerHTML, so content such as <img src=invalid onerror=...> becomes an executable event-handler attribute. Because the SiYuan desktop (Electron) main window is created with nodeIntegration enabled and contextIsolation disabled, an administrator who opens the card manager on a workspace containing attacker-supplied flashcard content (for example introduced through contribution or import) executes the attacker's script in a privileged renderer, which can lead to arbitrary code execution on the host. The affected endpoint remains behind authentication and administrator-role checks; this is an untrusted-content-to-privileged-renderer issue, not an authorization bypass.
AI Analysis
Technical Summary
SiYuan note versions prior to 3.8.4 fail to HTML-escape stored flashcard block content before embedding it into the card-manager list markup. The vulnerable endpoint /api/riff/getRiffCards returns block content that is directly assigned to innerHTML in the card item template, enabling execution of attacker-controlled scripts such as event handlers in injected HTML elements. Because the desktop Electron application runs with nodeIntegration enabled and contextIsolation disabled, an administrator opening the card manager with attacker-supplied flashcard content executes the malicious script in a privileged renderer context. This can lead to arbitrary code execution on the host system. The endpoint is protected by authentication and administrator role checks, so exploitation requires an attacker to have or gain administrator privileges and to introduce malicious flashcard content via contribution or import.
Potential Impact
Successful exploitation allows an attacker with administrator privileges to execute arbitrary code on the host system through script execution in the Electron renderer process. This elevates the risk of full system compromise. However, the attack requires the attacker to have administrator access and to have introduced malicious flashcard content into the workspace. There is no indication of an authorization bypass or remote unauthenticated exploitation.
Mitigation Recommendations
A fixed version of SiYuan note is available starting from version 3.8.4 that properly escapes flashcard block content before insertion into the DOM. Users should upgrade to version 3.8.4 or later to remediate this vulnerability. Since the vulnerability requires administrator interaction with malicious content, restricting administrator access and validating imported content can reduce risk until the update is applied.
CVE-2026-100641: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in siyuan-note siyuan
Description
SiYuan before v3.8.4 does not HTML-escape stored flashcard block content before interpolating it into the card-manager list markup. Block content returned by /api/riff/getRiffCards is inserted into a card item template in app/src/card/viewCards.ts and assigned to listElement.innerHTML, so content such as <img src=invalid onerror=...> becomes an executable event-handler attribute. Because the SiYuan desktop (Electron) main window is created with nodeIntegration enabled and contextIsolation disabled, an administrator who opens the card manager on a workspace containing attacker-supplied flashcard content (for example introduced through contribution or import) executes the attacker's script in a privileged renderer, which can lead to arbitrary code execution on the host. The affected endpoint remains behind authentication and administrator-role checks; this is an untrusted-content-to-privileged-renderer issue, not an authorization bypass.
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 note versions prior to 3.8.4 fail to HTML-escape stored flashcard block content before embedding it into the card-manager list markup. The vulnerable endpoint /api/riff/getRiffCards returns block content that is directly assigned to innerHTML in the card item template, enabling execution of attacker-controlled scripts such as event handlers in injected HTML elements. Because the desktop Electron application runs with nodeIntegration enabled and contextIsolation disabled, an administrator opening the card manager with attacker-supplied flashcard content executes the malicious script in a privileged renderer context. This can lead to arbitrary code execution on the host system. The endpoint is protected by authentication and administrator role checks, so exploitation requires an attacker to have or gain administrator privileges and to introduce malicious flashcard content via contribution or import.
Potential Impact
Successful exploitation allows an attacker with administrator privileges to execute arbitrary code on the host system through script execution in the Electron renderer process. This elevates the risk of full system compromise. However, the attack requires the attacker to have administrator access and to have introduced malicious flashcard content into the workspace. There is no indication of an authorization bypass or remote unauthenticated exploitation.
Mitigation Recommendations
A fixed version of SiYuan note is available starting from version 3.8.4 that properly escapes flashcard block content before insertion into the DOM. Users should upgrade to version 3.8.4 or later to remediate this vulnerability. Since the vulnerability requires administrator interaction with malicious content, restricting administrator access and validating imported content can reduce risk until the update is applied.
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: 6ab7c9a7f7a7c5410652fd29
Added to database: 09/26/2026, 13:33:27 UTC
Last enriched: 09/26/2026, 14:03:52 UTC
Last updated: 09/27/2026, 01:57:11 UTC
Views: 10
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.