CVE-2026-72798: SiYuan renderAttributeView missing authorization in related-database content

CVE-2026-72798 · Severity: high · CVSS 8.6 · Published 2026-08-12

SiYuan is a popular note-taking and knowledge management application with publish functionality. When using the publish feature, administrators can make databases publicly accessible while keeping others private. This vulnerability allows anonymous readers or users with limited permissions to access content from private databases by viewing publicly linked databases—specifically through Relation and Rollup columns that mirror data from hidden, password-protected, or permission-restricted databases. The issue also allows completely unfiltered access when a database's first column is reordered to be a non-block type, bypassing all permission checks entirely.

Technologies: github.com/siyuan-note/siyuan/kernel (Go), SiYuan. Vendors: Go, SiYuan.

Quick answers

Is CVE-2026-72798 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-72798 being exploited in the wild.
How severe is CVE-2026-72798?
High severity, with a CVSS score of 8.6, published 12 August 2026.
Which products and versions are affected?
github.com/siyuan-note/siyuan/kernel (Go) < 0.0.0-20260724121519-426991d155c0, SEMVER:introduced=0,fixed=0.0.0-20260724121519-426991d155c0; SiYuan < 0.0.0-20260724121519-426991d155c0.
Is there a fix for CVE-2026-72798?
Yes. github.com/siyuan-note/siyuan/kernel (Go): upgrade to 0.0.0-20260724121519-426991d155c0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-72798 attacked?
It is attacked over the network, in a web application.
Am I affected by CVE-2026-72798?
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-20260724121519-426991d155c0 or later
    go get github.com/siyuan-note/siyuan/kernel@v0.0.0-20260724121519-426991d155c0

Technical details

The vulnerability exists in SiYuan's FilterViewByPublishAccess function (kernel/model/publish_access.go), which performs publish-access filtering on attribute view rows. The implementation checks only the first cell's Block value against publish permissions via CheckPathAccessableByPublishIgnore. However, Relation and Rollup cell types carry mirrored Content arrays sourced from separate, potentially private databases (ValueRelation.Contents and ValueRollup.Contents are never validated). When the first column's Value.Block is nil (non-block types like Text or Relation, or detached rows), the bt variable remains nil and the entire if-guard is bypassed, returning rows with zero accessibility evaluation. An unauthenticated attacker (when Publish.Auth.Enable is false) or RoleReader can POST to /api/av/renderAttributeView with a published database's ID and retrieve private database content through unfiltered Relation/Rollup columns or bypass filtering entirely by reordering column layout. Patch available in commit 426991d155c0.

Affected products

  • siyuan-note siyuan < 0.0.0-20260724121519-426991d155c0

Identifiers

  • CVE-2026-72798
  • GHSA-mfrj-v65r-979c
  • GO-2026-6415

Timeline

  • 2026-09-04: disclosed
  • 2026-07-24: patched: Patch released in commit 426991d155c0c7c3a9e71badd6761eddfa8aad5b

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.