Junglewise Threat Intelligence

CVE-2026-72812: SiYuan missing authorization in refreshBacklink endpoint

CVE-2026-72812 · Severity: medium · CVSS 6.5 · Published 2026-09-03

Executive brief

SiYuan is a note-taking application with a publish feature that allows users to share documents. An unauthenticated user or low-privileged reader can call the `/api/ref/refreshBacklink` endpoint in publish mode to trigger persistent writes to the server's database, bypassing read-only protections and causing resource exhaustion. This allows attackers to perform denial-of-service attacks and violate the integrity of the application's invariants without needing credentials.

Technical details

The `/api/ref/refreshBacklink` endpoint is a POST handler that lacks proper authorization guards. Unlike similar mutating endpoints that enforce `CheckAdminRole`, `CheckReadonly`, or inline `IsReadOnlyRoleContext` checks, this endpoint only requires `CheckAuth`, which admits reader-role users and anonymous accounts when publish mode authentication is disabled. When called, the handler invokes `model.RefreshBacklink(id)`, which executes a full write chain: flushing the transaction queue, performing global reference scans, loading and parsing trees from disk, and enqueuing database writes. The endpoint does not honor the global `util.ReadOnly` flag and accepts attacker-controlled block IDs without per-object publish-access validation, allowing readers to reindex documents outside their scope. This is reachable over the network with no authentication required in default publish configurations.

Affected products

  • SiYuan SiYuan before 0.0.0-20260723002528-7d273c271ce1

Timeline

  • 2026-07-23: disclosed: Initially published to GitHub Advisory Database
  • 2026-09-03: advisory: Advisory updated with full details
  • 2026-07-23: patched: Patched in commit 7d273c271ce1

References

Related threats