# CVE-2026-72803: SiYuan missing publish-access filter on getBlockAttrs and batchGetBlockAttrs

Source: https://junglewise.ai/threats/cve-2026-72803-siyuan-missing-publish-access-filter-on-getblockattrs-and  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-08-12. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2026-72803 · Severity: medium · CVSS 5.8 · Published 2026-08-12

SiYuan is a note-taking and document management application. Two API endpoints (`getBlockAttrs` and `batchGetBlockAttrs`) fail to enforce access controls on document blocks marked as publish-forbidden or password-protected. An attacker can read sensitive block metadata including user-written memos and custom fields from protected documents without authorization, with the batch endpoint enabling bulk extraction of attributes across an entire workspace.

Technologies: [github.com/siyuan-note/siyuan/kernel (Go)](https://junglewise.ai/threats/technologies/github-com-siyuan-note-siyuan-kernel), [SiYuan](https://junglewise.ai/threats/technologies/siyuan). Vendors: [Go](https://junglewise.ai/threats/vendors/go), [SiYuan](https://junglewise.ai/threats/vendors/siyuan).

## Quick answers

**Is CVE-2026-72803 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-72803 being exploited in the wild.

**How severe is CVE-2026-72803?** Medium severity, with a CVSS score of 5.8, published 12 August 2026.

**Which products and versions are affected?** github.com/siyuan-note/siyuan/kernel (Go) < 0.0.0-20260724093256-229fdffd7e4a, SEMVER:introduced=0,fixed=0.0.0-20260724093256-229fdffd7e4a; SiYuan < 0.0.0-20260724093256-229fdffd7e4a.

**Is there a fix for CVE-2026-72803?** Yes. github.com/siyuan-note/siyuan/kernel (Go): upgrade to 0.0.0-20260724093256-229fdffd7e4a or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-72803 attacked?** It is attacked over the network, in a web application.

**Am I affected by CVE-2026-72803?** Check whether you run github.com/siyuan-note/siyuan/kernel (Go) or SiYuan at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- github.com/siyuan-note/siyuan/kernel (Go): upgrade to 0.0.0-20260724093256-229fdffd7e4a or later

  ```sh
  go get github.com/siyuan-note/siyuan/kernel@v0.0.0-20260724093256-229fdffd7e4a
  ```


## Technical details

The vulnerability is a missing authorization check (CWE-862) in two Go API handlers. The `getBlockAttrs` and `batchGetBlockAttrs` handlers directly query the database (`sql.GetBlockAttrs`, `sql.BatchGetBlockAttrs`) without calling the sibling guard function `checkBlockPublishAccess` that protects the analogous `getBlockInfo` endpoint. Both handlers are registered with `CheckAuth` only, making them accessible to anonymous users when `Publish.Auth.Enable` is false and to any `RoleReader` publish token. Exploitation requires network access to the publish port (default 6808) and knowledge of valid block IDs; no user interaction is needed. The attacker can extract the block's entire internal attribute list (IAL)—including name, alias, memo (user-authored notes), bookmark, tags, and arbitrary custom fields—from any block, including those in protected documents. The batch variant accepts an ID list in a single request, enabling workspace-wide attribute sweep attacks. The suggested fix is to apply `checkBlockPublishAccess` per-ID before returning results.

## Affected products

- siyuan-note siyuan < 0.0.0-20260724093256-229fdffd7e4a

## Identifiers

- CVE-2026-72803
- GHSA-qvq9-hq6p-v378
- GO-2026-6404

## Timeline

- 2026-07-24: disclosed: GitHub Security Advisory published
- 2026-09-03: advisory: Published to GitHub Advisory Database and CVE-2026-72803 assigned
- 2026-07-24: patched: Patch available in commit 229fdffd7e4afdef543d4d8495657fda8a369400

## References

- [https://api.github.com/users/Shirshakhtml](https://api.github.com/users/Shirshakhtml)
- [https://github.com/Shirshakhtml](https://github.com/Shirshakhtml)
- [https://api.github.com/users/Shirshakhtml/gists%7B/gist_id%7D](https://api.github.com/users/Shirshakhtml/gists%7B/gist_id%7D)
- [https://api.github.com/users/Shirshakhtml/repos](https://api.github.com/users/Shirshakhtml/repos)
- [https://avatars.githubusercontent.com/u/75179984?v=4](https://avatars.githubusercontent.com/u/75179984?v=4)
- [https://api.github.com/users/Shirshakhtml/events%7B/privacy%7D](https://api.github.com/users/Shirshakhtml/events%7B/privacy%7D)

## Related threats

- [SiYuan path traversal in web fetch](https://junglewise.ai/threats/cve-2026-126776-siyuan-3-7-0-before-3-8-10-on-windows-contains-a-path-traversal)
- [SiYuan publish filter information disclosure in local storage](https://junglewise.ai/threats/go-2026-6836-siyuan-the-publish-filter-for-local-storage-returns-the-7f022e62)
- [SiYuan path traversal via GLOBALROOT alias bypass](https://junglewise.ai/threats/cve-2026-118680-siyuan-3-8-7-through-3-8-8-fails-to-normalize-windows-globalroot)
- [SiYuan SQL injection in history search](https://junglewise.ai/threats/cve-2026-116170-siyuan-before-v3-8-7-contains-an-sql-injection-vulnerability)
- [SiYuan cross-site scripting in /check-auth redirect](https://junglewise.ai/threats/cve-2026-116167-siyuan-from-2-9-0-before-3-8-7-contains-a-cross-site-scripting)
