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

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2026-32940— SiYuan has a SanitizeSVG bypass via data:text/xml in getDynamicIcon (incomplete fix for CVE-2026-29183)

CVSS 9.3 · Critical EPSS 0.09% · P25
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2026-32940

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 has a SanitizeSVG bypass via data:text/xml in getDynamicIcon (incomplete fix for CVE-2026-29183)
Source: NVD (National Vulnerability Database)
Vulnerability Description
SiYuan is a personal knowledge management system. In versions 3.6.0 and below, SanitizeSVG has an incomplete blocklist — it blocks data:text/html and data:image/svg+xml in href attributes but misses data:text/xml and data:application/xml, both of which can render SVG with JavaScript execution. The unauthenticated /api/icon/getDynamicIcon endpoint serves user-controlled input (via the content parameter) directly into SVG markup using fmt.Sprintf with no escaping, served as Content-Type: image/svg+xml. This creates a click-through XSS: a victim navigates to a crafted URL, sees an SVG with an injected link, and clicking it triggers JavaScript via the bypassed MIME types. The attack requires direct navigation to the endpoint or <object>/<embed> embedding, since <img> tag rendering in the frontend doesn't allow interactive links. This issue has been fixed in version 3.6.1.
Source: NVD (National Vulnerability Database)
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
Source: NVD (National Vulnerability Database)
Vulnerability Type
在Web页面生成时对输入的转义处理不恰当(跨站脚本)
Source: NVD (National Vulnerability Database)
Vulnerability Title
SiYuan 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
SiYuan是SiYuan开源的一个隐私至上的个人知识管理系统。 SiYuan 3.6.0及之前版本存在安全漏洞,该漏洞源于SanitizeSVG存在不完整的阻止列表且未对用户输入进行转义,可能导致点击型跨站脚本攻击。
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)

Shenlong Deep Dive — AI Deep Analysis

10-question deep dive: root cause, exploitation, mitigation, urgency. Read summary free, full version requires login.

Affected Products

VendorProductAffected VersionsCPESubscribe
siyuan-notesiyuan < 3.6.1 -

II. Public POCs for CVE-2026-32940

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-32940

登录查看更多情报信息。

Same Patch Batch · siyuan-note · 2026-03-20 · 8 CVEs total

CVE-2026-329389.9 CRITICALSiYuan has an Arbitrary File Read in its Desktop Publish Service
CVE-2026-327679.8 CRITICALSiYuan: Authorization Bypass Allows Arbitrary SQL Execution via Search API
CVE-2026-332037.5 HIGHSiYuan has an Unauthenticated WebSocket DoS via Auth Keepalive Bypass
CVE-2026-334767.5 HIGHSiYuan has an Unauthenticated Arbitrary File Read via Path Traversal
CVE-2026-331946.8 MEDIUMSiYuan has an Incomplete Fix for IsSensitivePath Denylist Allows File Read from /opt, /usr
CVE-2026-33067SiYuan has Stored XSS to RCE via Unsanitized Bazaar Package Metadata
CVE-2026-33066SiYuan has Stored XSS to RCE via Unsanitized Bazaar README Rendering

IV. Related Vulnerabilities

V. Comments for CVE-2026-32940

No comments yet


Leave a comment