CVE-2026-39846: b3log siyuan Cross-site Scripting
Vulnerability summary
CVE-2026-39846 is a critical (CVSS 9.1) Cross-site Scripting vulnerability in b3log siyuan. EPSS estimates a 0.65% chance of exploitation in the next 30 days, higher than 50.2% of scored vulnerabilities. 1 public exploit is recorded.
Advisory lineage
Upstream 0 · Downstream 1 · Related 1Timeline
- 07-04-2026PublishedVulnerability first disclosed.
- 08-04-2026Last modifiedVulnerability information updated.
Description
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.
CVSS metrics
3 scores · 3 sources · 1 version- OSV · GoEcosystem advisory · calculated9.0CriticalCVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:HDiffers
- NVDNIST9.0CriticalCVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:HDiffers
EPSS trend
Probability
0.65%
Chance of exploitation in the next 30 days
Percentile
50%
Versus all other CVEs
30-day change
+0.11 pp
From 0.54% on 20-09-2026
Known exploited
Compare KEV catalogsNot in any of the 3 tracked catalogs.
Public exploits
1 foundSiyuan
Maturity: poc
Weaknesses
CWE · root cause- CWE-79Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.
- CWE-94Improper Control of Generation of Code ('Code Injection')The product constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.
Affected systems
B3log1 product
- siyuan< 3.6.4
Github.com/siyuan-note/siyuan1 product
- kernel< 0.0.0-20260407035653-2f416e5253f1
Siyuan-note1 product
- siyuan< 3.6.4
3 vendors · 3 products
References
3 links- github.com/siyuan-note/siyuan/security/advisories/GHSA-phhp-9rm9-6gr2X Refsource CONFIRMWEBAdvisoryExploitVendor Advisory