Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-54070— SiYuan: Stored XSS in Bazaar marketplace via package README event handlers

Quick assessment

Affected
siyuan-note siyuan
Exploitation
Public or AI PoC available; prioritize validation
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

SiYuan是SiYuan团队开源的一个个人知识管理系统。 SiYuan 3.7.0之前版本存在安全漏洞,该漏洞源于内核中lute引擎的清理器事件处理程序筛选器存在缺陷,导致未过滤掉现代事件处理程序属性,并且内核未在响应中添加内容安全策略等标头,因此当管理员在Settings→Marketplace查看包时,第三方Bazaar包作者可在管理员已认证的SiYuan来源中运行JavaScript,并获得对工作区的完全控制。

CVSS 7.1 · High EPSS 0.30% · P21

Affected Version Matrix 1

VendorProduct Version RangeStatus
siyuan-note siyuan < 3.7.0 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-54070

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
SiYuan: Stored XSS in Bazaar marketplace via package README event handlers
Source: CVE Program / CVE List V5
Vulnerability Description
SiYuan is an open-source personal knowledge management system. Prior to 3.7.0, renderPackageREADME in kernel/bazaar/readme.go renders a Bazaar package README from Markdown to HTML with the lute engine and SetSanitize(true). The lute sanitizer is an event-handler blocklist: allowAttr rejects only attribute names present in a fixed eventAttrs map copied from the w3schools legacy handler list. That map omits modern event handlers. onpointerover, onpointerdown, onauxclick, onbeforetoggle, onfocusin, onanimationstart, and ontransitionend are not in the list, so the sanitizer passes them through verbatim on any tag. The frontend assigns the rendered HTML to mdElement.innerHTML in app/src/config/bazaar.ts with no client-side DOMPurify on this path, into a normal element in the main document (no iframe, no sandbox). The kernel sends no Content-Security-Policy, X-Frame-Options, or X-Content-Type-Options header on any response, so an inline handler runs when its event fires. The README is rendered when an Administrator opens a package in Settings → Marketplace, after the one-time marketplace trust consent. Install is not required. Result: a third-party Bazaar package author runs JavaScript in the Administrator's authenticated SiYuan origin when the Administrator views and interacts with the package listing, and gains full control of the workspace. This vulnerability is fixed in 3.7.0.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:L
Source: CVE Program / CVE List V5
Vulnerability Type
在Web页面生成时对输入的转义处理不恰当(跨站脚本)
Source: CVE Program / CVE List V5
Vulnerability Title
SiYuan 输入验证错误漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
SiYuan是SiYuan团队开源的一个个人知识管理系统。 SiYuan 3.7.0之前版本存在安全漏洞,该漏洞源于内核中lute引擎的清理器事件处理程序筛选器存在缺陷,导致未过滤掉现代事件处理程序属性,并且内核未在响应中添加内容安全策略等标头,因此当管理员在Settings→Marketplace查看包时,第三方Bazaar包作者可在管理员已认证的SiYuan来源中运行JavaScript,并获得对工作区的完全控制。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
siyuan-note siyuan < 3.7.0 -

II. Public POCs for CVE-2026-54070

# POC Description Source Link Shenlong Link
AI-Generated POC Premium
Qwen3.6-35B-A3B · 5356 chars
Pro+ exclusive includes:
Vulnerability reproduction recording (real sandbox build + trigger, exclusive)
In-depth vulnerability mechanism
Trigger conditions & impact
Full executable POC code
Exploit chain & mitigation
POC zip download
100+ AI POC generations per month

III. Intelligence Information for CVE-2026-54070

请登录查看更多情报信息。

Vendor Advisories for CVE-2026-54070 (1)

Same Patch Batch · siyuan-note · 2026-06-24 · 9 CVEs total

CVE-2026-54158 9.9 CRITICAL SiYuan: Stored XSS to RCE via attribute-view cell rendering in genAVValueHTML()
CVE-2026-54067 9.9 CRITICAL SiYuan: Stored XSS to RCE via CSS-snippet <style> breakout in renderSnippet()
CVE-2026-50551 9.9 CRITICAL SiYuan: Stored XSS to RCE via Unsanitized Attribute View Asset Cell Content
CVE-2026-55570 9.0 CRITICAL SiYuan: Stored XSS results to Electron RCE in SiYuan marketplace via unescaped `data-obj`
CVE-2026-54066 7.5 HIGH SiYuan: Path Traversal via Double URL Encoding in /assets/*path (publish mode arbitrary fi
CVE-2026-54068 5.9 MEDIUM SiYuan: Unauthenticated SQLite Data Exfiltration via Template Injection in /api/icon/getDy
CVE-2026-54759 SiYuan: Lute HTML sanitizer allows `<iframe>` tags in Bazaar package README, leading to ar
CVE-2026-54069 SiYuan: Unauthenticated Admin API Access via Blanket chrome-extension:// Origin Allowlist

IV. Related Vulnerabilities

V. Comments for CVE-2026-54070

No comments yet


Leave a comment