Skip to main content

SiYuan CVE-2026-84803

| EUVDEUVD-2026-69915 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-09-02 VulnCheck GHSA-73j8-px8h-3w2h
8.6
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate to SiYuan with low-privilege account
  2. Delivery
    Upload crafted .xsl/.xht file containing JavaScript payload
  3. Exploit
    Asset stored server-side, bypassing extension blocklist
  4. Execution
    Victim opens or previews malicious asset link
  5. Persist
    Browser executes JavaScript in SiYuan application context
  6. Impact
    Exfiltrate 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

SiYuan 0 <3.8.2

Affected Packages

euvd siyuan fix: 3.8.2

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

Vendor (VulnCheck) PRIMARY 8.6 HIGH
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
vuln.today AI 9.0 CRITICAL

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.

3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Sep 02, 2026 - 13:02 EUVD
CVE Published
Sep 02, 2026 - 11:11 cve.org
HIGH 8.6

DescriptionCVE.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

Why It Matters

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.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Low
Niche self-hosted personal knowledge base, limited enterprise footprint.
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

43
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +43
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

More in Siyuan

View all
CVE-2026-69083 CRITICAL POC
9.9 Aug 03

SQL injection in SiYuan's fullTextSearchAssetContent endpoint lets unauthenticated attackers and holders of publish Role

CVE-2026-54067 CRITICAL POC
9.9 Jun 24

Stored cross-site scripting in SiYuan personal knowledge management before 3.7.0 lets an attacker with write access to a

CVE-2026-69084 CRITICAL POC
9.9 Aug 03

SQL injection in SiYuan personal knowledge management (versions <= v3.7.2) lets attackers pass arbitrary SQL statements

CVE-2026-54158 CRITICAL POC
9.9 Jun 24

Stored cross-site scripting in SiYuan's attribute-view (database) cell renderer, affecting all versions prior to 3.7.0,

CVE-2026-69085 CRITICAL POC
9.9 Aug 03

SQL injection in SiYuan personal knowledge-management software (all versions before v3.7.3) lets attackers inject arbitr

CVE-2024-53507 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability was discovered in Siyuan 3.1.11 in /getHistoryItems. Rated critical severity (CVSS 9.8), t

CVE-2024-53506 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the ids array parameter in /batchGetBlockAttrs. R

CVE-2024-53505 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the id parameter at /getAssetContent. Rated criti

CVE-2024-53504 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the notebook parameter in /searchHistory. Rated c

CVE-2026-23852 CRITICAL POC
9.6 Jan 19

SiYuan personal knowledge management system prior to 3.5.4 has a stored XSS vulnerability (CVSS 9.6) that allows code ex

CVE-2026-56397 CRITICAL POC
9.4 Jun 21

Remote code execution in SiYuan note-taking application (before v3.6.1) allows any malicious Bazaar marketplace package

CVE-2026-54069 CRITICAL POC
9.2 Jun 24

Origin-validation bypass in SiYuan Note (open-source personal knowledge management) before 3.7.0 lets any installed Chro

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy