XSS in B3log Siyuan

CVE-2026-31807

SiYuan is a personal knowledge management system. Prior to 3.5.10, SiYuan's SVG sanitizer (SanitizeSVG) blocks dangerous elements (<script>, <iframe>, <foreignobject>) and removes on* event handlers and javascript: in href attributes. However, it does NOT block SVG animation elements (<animate>, <set>) which can dynamically set attributes to dangerous values at runtime, bypassing the static sanitization. This allows an attacker to inject executable JavaScript into the unauthenticated /api/icon/getDynamicIcon endpoint (type=8), creating a reflected XSS. This is a bypass of the fix for CVE-2026-29183 (fixed in v3.5.9). This vulnerability is fixed in v3.5.10.

Vulnerability class: XSS (Cross-Site Scripting)

Published · last modified .

CVSS v3 metric

CVSS v3 base score 6.1 (Medium). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N.

EPSS exploit prediction

EPSS: 0.005 (40.5th percentile), scored .

Very low probability of exploitation in the next 30 days; routine patching cadence is appropriate. 40th percentile — 40.5% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.

EPSS trend (30 days)EPSS over the last 30 days for CVE-2026-31807: held from 0.004 to 0.005.

EPSS over last 30 days · oldest: 0.004 · newest: 0.005 · change: +0.001

Affected products

Weakness classification (CWE)

References

Frequently asked questions

What is CVE-2026-31807?
CVE-2026-31807 is a medium-severity vulnerability in B3log Siyuan, classified under Cross-site Scripting. CVSS score: 6.1/10. Published 2026-03-10.
How severe is CVE-2026-31807?
Medium severity. CVSS v3 base score is 6.1 out of 10.