CVE-2026-72804 is an information exposure flaw in SiYuan publish mode. The getGraph and getLocalGraph endpoints skipped the publish password check, so anonymous readers could fetch block content of protected documents. The record scores it 8.6, High. Upgrade to SiYuan v3.7.4 or later.
What's affected
The record says SiYuan versions before v3.7.4 are affected. The GitHub advisory lists affected versions as v3.7.2 and earlier, with v3.7.4 as the patched release. Both point to the same fix, so move to v3.7.4 or later.
The advisory explains why the filter missed. The graph handlers filter reader sessions by visibility tier only, and never evaluate the publish password. Password protected documents count as visible, so their graph nodes pass through. Graph nodes are block level and carry the block's real content, not only titles. An anonymous reader can therefore get a protected document's per-block content and its reference and backlink structure.
The weakness class is CWE-200, exposure of sensitive information to an unauthorized actor.
How to check if you're exposed
Check the version of every SiYuan instance you run, especially ones that publish content to readers.
docker ps --format '{{.Names}} {{.Image}}'
The command above lists container names and image tags, so you can see whether a running SiYuan container is pinned to a version below v3.7.4. For desktop or binary installs, open the About panel in the app. The advisory describes the issue as affecting publish mode, so a private instance that never publishes is not the main concern. Look for any instance that serves pages to readers, with or without a publish password.
Then list which documents you protect with a publish password. Those are the documents at risk on a vulnerable instance, because the password is the only barrier you set on them.
What to do now
- Upgrade SiYuan to v3.7.4 or later on every publish mode instance.
- List documents protected by a publish password and treat their content as possibly exposed on vulnerable versions.
- If a document holds sensitive material, move it out of publish mode until the upgrade is done.
- Review reverse proxy logs for requests to the graph endpoints from unknown clients.
- Change any secrets that were written into protected documents, such as tokens or credentials.
- Retest after the upgrade by loading a protected page as an anonymous reader.
Why it matters
A password on a page is only as strong as the weakest route to its content. The page itself may ask for the password, while an API route built for a different feature, like a graph view, hands out the same text without asking. Teams that add a feature late often forget to carry the old access rules into it.
The record gives 8.6 High under CVSS 3.1. The GitHub advisory labels it High and VulnCheck lists high at 9.2 under CVSS 4.0. The reference topology also leaks, so even if you only protect titles, relationships between documents are visible. This matters for notes that describe projects, customers or plans. No source reports exploitation in the wild, and the CVE is not on the CISA KEV list.
Quick check
Do I need to know the document password to read it through the graph endpoints?
On vulnerable versions, no. The advisory says anonymous readers could retrieve protected content without supplying a password.
What else leaks besides text?
The reference and backlink structure of the documents, according to the record and advisory.
Sources
Last reviewed: 18 October 2026.