Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to SiYuan with low-privilege account
-
DeliveryUpload crafted .xsl/.xht file containing JavaScript payload
-
ExploitAsset stored server-side, bypassing extension blocklist
-
ExecutionVictim opens or previews malicious asset link
-
PersistBrowser executes JavaScript in SiYuan application context
-
ImpactExfiltrate API token and compromise workspace
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an authenticated user account with file upload privileges in the SiYuan instance (PR:L per CVSS vector). A second user (the victim) must open or preview the uploaded asset in a browser session where they are logged into SiYuan (UI:P per CVSS vector). The vulnerability is conditional on the target file extension being one of the bypassing types (.xht, .ehtml, .xsl, .xbl, .rdf) and the browser's MIME-type mapping rendering it as an executable document. Single-user self-hosted deployments where no other party has upload access face no practical risk. Multi-tenant or team deployments with untrusted upload-capable users are the realistic attack surface. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H) reflects low-complexity network exploitation requiring only low-privilege authentication and passive victim interaction, with high confidentiality, integrity, and availability impact on the vulnerable system. Real-world risk is most significant in multi-user or team SiYuan deployments where untrusted collaborators can upload files - single-user self-hosted instances face negligible risk since the attacker and victim would be the same person. No EPSS score is present in the provided data; no KEV listing exists; no public exploit code has been confirmed. The bypass technique (uploading unlisted executable-capable extensions) is technically straightforward for anyone familiar with browser MIME-type handling, making the attack low-effort once access is obtained. The PR:L prerequisite is the primary mitigating factor for mass exploitation scenarios. |
| Exploit ScenarioDerived | An authenticated collaborator in a shared SiYuan workspace uploads a crafted file named payload.xsl containing an embedded JavaScript payload that reads document.cookie and posts the API token to an attacker-controlled endpoint. When a workspace admin or co-user opens the shared asset link in their browser, the browser renders the .xsl file as an executable XML document and runs the script, silently exfiltrating the victim's API token. No public exploit code has been confirmed, but the technique is straightforward given the described extension bypass. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 02, 2026
Stored XSS in SiYuan before v3.8.2 enables authenticated users with upload access to bypass the asset extension blocklist by using file types such as .xht, .ehtml, .xsl, .xbl, or .rdf that browsers render as executable documents. When a victim opens or previews the malicious asset, embedded JavaScript runs in the SiYuan application context, allowing theft of API tokens and full workspace compromise. No public exploit code or CISA KEV listing has been identified at time of analysis; the fix is available in v3.8.2.
RemediationAI
Upgrade to SiYuan v3.8.2 or later, which extends the extension blocklist to include .xht, .ehtml, .xsl, .xbl, .rdf, and related script-capable types. Details are in the vendor advisory at https://github.com/siyuan-note/siyuan/security/advisories/GHSA-7h8j-qw37-w46g. For deployments that cannot upgrade immediately, restrict file upload permissions to fully trusted users only - this removes the low-privilege upload prerequisite. As a secondary compensating control, configure the reverse proxy or web server serving SiYuan assets to add a forced Content-Disposition: attachment header for asset responses, which instructs browsers to download rather than render files; note this will break in-app asset previews. A Content-Security-Policy header restricting script-src to known origins can also reduce XSS impact surface, but requires careful tuning to avoid breaking SiYuan's own UI.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
SiYuan is a self-hosted, privacy-first personal knowledge base and note-taking application. Its asset-serving component applies an extension blocklist to restrict upload of script-capable file types. The blocklist is incomplete: extensions such as .xht (XHTML), .ehtml (XHTML variant), .xsl (XSL Stylesheet), .xbl (XML Binding Language), and .rdf (Resource Description Framework) were omitted despite browsers mapping these to MIME types that permit JavaScript execution. CWE-79 (Improper Neutralization of Input During Web Page Generation - Stored XSS) applies because the server stores uploaded content and later serves it to victims' browsers without enforcing a safe MIME type or Content-Disposition header. The affected CPE is cpe:2.3:a:siyuan-note:siyuan:*:*:*:*:*:*:*:* covering all versions before 3.8.2.
Know when Siyuan gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
PR:L for required upload auth; UI:R for victim asset-open; S:C as script executes in victim's browser scope; C/I/A:H because API token theft enables full workspace read, write, and deletion.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
SiYuan before v3.8.2 contains a stored cross-site scripting vulnerability in asset serving due to an incomplete extension blocklist that misses script-capable file types. Attackers can upload files with extensions like .xht, .ehtml, .xsl, .xbl, or .rdf that resolve to executable media types and execute JavaScript to steal API tokens and compromise workspaces.
Technical POC Analysis
The bug is an incomplete deny-list on the asset-serving path in SiYuan's Go kernel.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
SiYuan versions before 3.8.2 allow authenticated users with upload permissions to execute arbitrary JavaScript within the application by uploading files with executable extensions (.xht, .ehtml, .xsl, .xbl, .rdf), enabling theft of API credentials and complete workspace compromise. This insider threat vector is particularly critical for organizations where upload access is granted to contractors, external collaborators, or less-vetted staff members. Affected installations must be upgraded to v3.8.2 immediately to prevent unauthorized access to sensitive workspace data and authentication tokens.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
SQL injection in SiYuan's fullTextSearchAssetContent endpoint lets unauthenticated attackers and holders of publish Role
Stored cross-site scripting in SiYuan personal knowledge management before 3.7.0 lets an attacker with write access to a
SQL injection in SiYuan personal knowledge management (versions <= v3.7.2) lets attackers pass arbitrary SQL statements
Stored cross-site scripting in SiYuan's attribute-view (database) cell renderer, affecting all versions prior to 3.7.0,
SQL injection in SiYuan personal knowledge-management software (all versions before v3.7.3) lets attackers inject arbitr
A SQL injection vulnerability was discovered in Siyuan 3.1.11 in /getHistoryItems. Rated critical severity (CVSS 9.8), t
A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the ids array parameter in /batchGetBlockAttrs. R
A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the id parameter at /getAssetContent. Rated criti
A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the notebook parameter in /searchHistory. Rated c
SiYuan personal knowledge management system prior to 3.5.4 has a stored XSS vulnerability (CVSS 9.6) that allows code ex
Remote code execution in SiYuan note-taking application (before v3.6.1) allows any malicious Bazaar marketplace package
Origin-validation bypass in SiYuan Note (open-source personal knowledge management) before 3.7.0 lets any installed Chro
EUVD-2026-69915
GHSA-73j8-px8h-3w2h
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB