CVE-2026-68587
moderateMissing publish-access check in SiYuan heading transaction endpoints leaks documents
SiYuan's publish mode exposes three API endpoints (/api/block/getHeadingDeleteTransaction, /api/block/getHeadingLevelTransaction, and /api/block/getHeadingInsertTransaction) that return the fully rendered block DOM of a heading and its subtree without applying the publish-access filter used by the normal reader content path. Although their names imply writes, these endpoints only compute and return a transaction payload; they are registered with CheckAuth alone, so they are reachable with a publish RoleReader token, or anonymously when Publish.Auth.Enable is false. An attacker who supplies any heading block ID receives rendered HTML for that heading's subtree, letting them read the full content of documents an administrator explicitly marked publish-disabled (CWE-862, missing authorization). Anyone running SiYuan with publish mode enabled on port 6808 is affected — anonymous readers when publish authentication is disabled, and any reader-account holder otherwise. No public PoC, KEV listing, or in-the-wild exploitation is known; EPSS is 0.2%.
What to do: Upgrade SiYuan to a patched release as soon as the vendor publishes one (no fixed version is specified in the available data — check the SiYuan release notes/changelog). Until then, keep Publish.Auth.Enable enabled and restrict inbound access to port 6808, or block/deny the /api/block/getHeading*Transaction routes at a reverse proxy for unauthenticated/reader traffic. Review whether any publish-disabled documents were exposed to readers and, if confidentiality matters, rotate or restrict access to that content.
| B3log / SiYuan SiYuan (publish mode, port 6808) | — |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
SiYuan versions before v3.7.3 contain an information disclosure vulnerability in the getHeadingDeleteTransaction, getHeadingLevelTransaction, and getHeadingInsertTransaction endpoints that return rendered block DOM without publish-access checks. Anonymous readers or publish RoleReader tokens can supply a heading block ID to read full rendered content of publish-disabled documents that should be restricted.
- Ecosystems
- go
- Weakness
- CWE-862
- Vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
- GHSA
- GHSA-69mh-gvh4-8gp7 (high)
In the news0 stories
No ingested article mentions this CVE yet.