CVE-2026-54066 SiYuan: Path Traversal via Double URL Encoding in /assets/*path (publish mode arbitrary file─read)
Unauthenticated attackers can read arbitrary files, including sensitive credentials, via double URL encoding in publish mode.
- 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-54066?
CVE-2026-54066 is a high-severity path traversal vulnerability in siyuan-note siyuan, published on 24 Jun 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
SiYuan is an open-source personal knowledge management system. Prior to 3.7.0, the patch for CVE-2026-41894 ("Path Traversal via Double URL Encoding") sanitized the /export/ route but the identical root cause remains in the /assets/*path route. In publish mode (anonymous read-only HTTP endpoint, default port 6808), an unauthenticated remote attacker can read arbitrary files inside WorkspaceDir — including conf/conf.json (which contains the AccessAuthCode SHA256 hash, API token, and sync keys), temp/siyuan.db, temp/blocktree.db, and siyuan.log — by double-URL-encoding .. segments. This vulnerability is fixed in 3.7.0.
Which versions are affected by CVE-2026-54066?
3 open source packages ship an affected version, including github.com/siyuan-note/siyuan/kernel.
| Package | Affected | Fixed in |
|---|---|---|
github.com/siyuan-note/siyuan/kernel Go | All versions | 0.0.0-20260628153353-2d5d72223df4 |
github.com/siyuan-note/siyuan/kernel Go | All versions | 0.0.0-20260628153353-2d5d72223df4 |
github.com/siyuan-note/siyuan/kernel Go | All versions | 0.0.0-20260628153353-2d5d72223df4 |
How do I fix CVE-2026-54066?
Upgrade github.com/siyuan-note/siyuan/kernel to 0.0.0-20260628153353-2d5d72223df4 or later.
Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.
Is CVE-2026-54066 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-54066 exists.
Public exploit code: 1 Nuclei template.
Sources
Also known as GHSA-p4m3-mgmm-c664, GO-2026-5964.