ZeroHour

CVE-2026-84803

moderate

Stored XSS in SiYuan asset serving lets attackers steal API tokens

CVSS 4.0
8.6 high
EPSS
<1%p14
Published
()
Modified
AI analysis

SiYuan before v3.8.2 contains a stored cross-site scripting flaw (CWE-79) in how it serves uploaded assets: its file-extension blocklist omits script-capable types such as .xht, .ehtml, .xsl, .xbl, and .rdf, so these uploads are delivered as executable media instead of inert files. An authenticated user with upload privileges (CVSS PR:L) can plant such a file in a workspace, and when another user opens or views the served asset, attacker-controlled JavaScript executes in their browser (user interaction required). The injected script can steal API tokens, giving the attacker access to the victim's account and the ability to compromise workspaces. Anyone running a SiYuan instance prior to v3.8.2 is affected. Exploitation is not currently observed: there is no public proof-of-concept, the issue is not in CISA KEV, and EPSS estimates only a 0.2% chance of exploitation in the next 30 days.

What to do: Upgrade SiYuan to v3.8.2 or later. As an interim mitigation, block or rename uploads with script-capable extensions (.xht, .ehtml, .xsl, .xbl, .rdf) or serve assets with attachment-style headers/safe Content-Types so they cannot execute in the browser. Administrators of shared or multi-user workspaces should review previously uploaded assets for these file types and rotate API tokens if suspicious activity is found.

Affected
SiYuan (Yunnan Liandi Technology / b3log) SiYuanall versions before 3.8.2 (fixed in 3.8.2)
Estimated exposure
moderateroughly 10,000-100,000 users/self-hosted workspaces — SiYuan is an open-source note-taking and knowledge-management server typically self-hosted by individuals and small teams (single instances serving one user or a few collaborators), and no public install statistics exist, so the installed…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

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.

Weakness
CWE-79
Vector
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

In the news

No ingested article mentions this CVE yet.