CVE-2026-72804: SiYuan: Graph endpoints omit the publish-password tier: anonymous readers receive block-level content of password-protected documents
getGraph and getLocalGraph filter reader sessions against the visibility tier only and never check the publish password. Password-protected documents are Visible = true, so their graph nodes survive the filter and graph nodes are block-level and carry the block’s actual content. An anonymous reader who has never supplied a document’s password can therefore retrieve that document’s per-block content and its reference/backlink topology. Both endpoints are CheckAuth-only, so they are reachable by the publish RoleReader token and by the anonymous account when Publish.Auth.Enable is false.
References
- github.com/advisories/GHSA-vpjw-wf5h-cgpq
- github.com/siyuan-note/siyuan/commit/82e9ded423e45eabcc96010abd30c0f96bfe0323
- github.com/siyuan-note/siyuan/security/advisories/GHSA-vpjw-wf5h-cgpq
- nvd.nist.gov/vuln/detail/CVE-2026-72804
- www.vulncheck.com/advisories/siyuan-before-authentication-bypass-via-graph-endpoints
Code Behaviors & Features
Detect and mitigate CVE-2026-72804 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →