CVE-2026-72804
nicheMissing Authorization in SiYuan Graph API Exposes Password-Protected Documents
SiYuan's graph API endpoints (getGraph and getLocalGraph) enforce only the visibility tier of publish access and never evaluate a document's publish password, so password-protected documents (which are marked Visible = true) pass through node filtering untouched. Because graph nodes are emitted one per block with node.Title and node.Label set to the block's actual content, an anonymous reader or any publish RoleReader who never supplied the password can retrieve a protected document's per-block text plus its full reference/backlink topology via simple POST requests to the publish server (default port 6808). This is broader than the by-design listing behavior, which intentionally exposes only protected document titles; the impact is confidentiality only, consistent with CWE-200/CWE-862 and the CVSS 3.1 score of 8.6 High. Any SiYuan deployment with publish mode enabled and password-protected documents is affected - anonymous access applies when Publish.Auth.Enable is false, otherwise any publish reader account suffices. No in-the-wild exploitation is known (EPSS 0.3%, not in CISA KEV), though the advisory includes working proof-of-concept requests demonstrating the leak.
What to do: Until a patched SiYuan release is available, restrict network access to the publish server (default port 6808) and set Publish.Auth.Enable to true so anonymous readers must authenticate; treat the block-level content of password-protected documents as potentially disclosed. Monitor upstream SiYuan releases for a fix that adds publish-password evaluation to the graph filtering path (FilterGraphByPublishIgnore) and verify the getGraph/getLocalGraph routes then require it.
| SiYuan | — |
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.4 fail to validate publish-password tier in getGraph and getLocalGraph endpoints, allowing anonymous readers to retrieve block-level content of password-protected documents. Attackers can call these endpoints without supplying a password to read protected document content and the complete reference topology.
- Ecosystems
- go
- Weakness
- CWE-200
- 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-vpjw-wf5h-cgpq (high)
In the news0 stories
No ingested article mentions this CVE yet.