ZeroHour

CVE-2026-72804

niche

Missing Authorization in SiYuan Graph API Exposes Password-Protected Documents

CVSS 4.0
9.2 critical
EPSS
<1%p17
Published
()
Modified
AI analysis

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.

Affected
SiYuan
Estimated exposure
nicheunknown; at most on the order of thousands of self-hosted instances running SiYuan's opt-in publish mode (default port 6808) — No install counts or internet-exposure scans for SiYuan appear in the available data, so the estimate rests on deployment patterns: SiYuan is a self-hosted personal knowledge app whose publish mode is opt-in and whose password-protected…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

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 news

No ingested article mentions this CVE yet.