CVE-2026-23847 SiYuan Vulnerable to Reflected Cross-Site Scripting (XSS) via /api/icon/getDynamicIcon

Low 2.1 Published Updated

Attackers can execute arbitrary JavaScript in victim browsers via unsanitized SVG input in the dynamic icon API endpoint.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2026-23847?

CVE-2026-23847 is a low-severity cross-site scripting vulnerability in B3log Siyuan, published on 19 Jan 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.

Official description

SiYuan is a personal knowledge management system. Versions prior to 3.5.4 are vulnerable to reflected cross-site scripting in /api/icon/getDynamicIcon due to unsanitized SVG input. The endpoint generates SVG images for text icons (type=8). The content query parameter is inserted directly into the SVG <text> tag without XML escaping. Since the response Content-Type is image/svg+xml, injecting unescaped tags allows breaking the XML structure and executing JavaScript. Version 3.5.4 patches the issue.]

Weakness: CWE-79

Which versions are affected by CVE-2026-23847?

3 open source packages ship an affected version, including github.com/siyuan-note/siyuan/kernel. It affects 1 product.

PackageAffectedFixed in
github.com/siyuan-note/siyuan/kernel GoAll versions0.0.0-20260118021606-5c0cc375b475
github.com/siyuan-note/siyuan/kernel GoAll versions0.0.0-20260118021606-5c0cc375b475
github.com/siyuan-note/siyuan/kernel GoAll versions0.0.0-20260118021606-5c0cc375b475

Products include B3log Siyuan.

How do I fix CVE-2026-23847?

Upgrade github.com/siyuan-note/siyuan/kernel to 0.0.0-20260118021606-5c0cc375b475 or later.

Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.

Is CVE-2026-23847 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-23847 exists.

All B3log Siyuan vulnerabilities

Sources

Also known as GHSA-w836-5gpm-7r93, GO-2026-4343.

Is CVE-2026-23847 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free