CVE-2026-68587: SiYuan: Full-content disclosure of publish-disabled documents via getHeading*Transaction endpoints (publish mode): reader-reachable rendered DOM with no publish-access check
Three “heading transaction” endpoints /api/block/getHeadingDeleteTransaction, /api/block/getHeadingLevelTransaction, and /api/block/getHeadingInsertTransaction return the rendered block DOM of a heading and its subtree in the computed transaction payload, with no publish-access check. They are gated by CheckAuth only, so they are reachable by the publish RoleReader token, and by the anonymous account when Publish.Auth.Enable is false.
Despite their write-implying names, these endpoints perform no mutation on this path, they compute a transaction object and return it, and that object contains RenderNodeBlockDOM output. As a result, an anonymous reader who supplies a heading block ID can read the full rendered content of a document that has been explicitly marked publish-disabled by an administrator, content that the reader-facing /api/filetree/getDoc path correctly refuses to return.
References
- github.com/advisories/GHSA-69mh-gvh4-8gp7
- github.com/siyuan-note/siyuan/commit/69db783b782aea865ea70a1c5ab656e5c0f3dadb
- github.com/siyuan-note/siyuan/security/advisories/GHSA-69mh-gvh4-8gp7
- nvd.nist.gov/vuln/detail/CVE-2026-68587
- www.vulncheck.com/advisories/siyuan-before-information-disclosure-via-getheading-transaction
Code Behaviors & Features
Detect and mitigate CVE-2026-68587 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 →