CVE-2026-40107 SiYuan Affected by Zero-Click NTLM Hash Theft and Blind SSRF via Mermaid Diagram Rendering

High 8.7 Published Updated

Attackers can steal NTLM hashes and perform blind SSRF by tricking users into opening malicious Mermaid diagrams in SiYuan.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-40107?

CVE-2026-40107 is a high-severity server-side request forgery vulnerability in B3log Siyuan, published on 9 Apr 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

SiYuan is a personal knowledge management system. Prior to 3.6.4, SiYuan configures Mermaid.js with securityLevel: "loose" and htmlLabels: true. In this mode, <img> tags with src attributes survive Mermaid's internal DOMPurify and land in SVG <foreignObject> blocks. The SVG is injected via innerHTML with no secondary sanitization. When a victim opens a note containing a malicious Mermaid diagram, the Electron client fetches the URL. On Windows, a protocol-relative URL (//attacker.com/image.png) resolves as a UNC path (\\attacker.com\image.png). Windows attempts SMB authentication automatically, sending the victim's NTLMv2 hash to the attacker. This vulnerability is fixed in 3.6.4.

Weakness: CWE-918

Which versions are affected by CVE-2026-40107?

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-20260407035653-2f416e5253f1
github.com/siyuan-note/siyuan/kernel GoAll versions0.0.0-20260407035653-2f416e5253f1
github.com/siyuan-note/siyuan/kernel GoAll versions0.0.0-20260407035653-2f416e5253f1

Products include B3log Siyuan.

How do I fix CVE-2026-40107?

Upgrade github.com/siyuan-note/siyuan/kernel to 0.0.0-20260407035653-2f416e5253f1 or later.

Upgrade, and send outbound requests through an allow-list that blocks internal addresses. More about Server-side request forgery.

Is CVE-2026-40107 being exploited?

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

All B3log Siyuan vulnerabilities

Sources

Also known as GHSA-w95v-4h65-j455, GO-2026-5702.

Is CVE-2026-40107 in your software?

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

Check your SBOMs for free