Skip to main content
← All vulnerabilities
CVE-2026-45147GHSA-6R88-8V7Q-Q4P2GO-2026-5188

SiYuan: Broken access control in SiYuan `/api/tag/getTag` — Reader role can mutate `Conf.Tag.Sort` and persist to disk

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 3.7.0, 0.0.0-20260512140701-d7b77d945e0d
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: partial

Summary

SiYuan is an open-source personal knowledge management system. Prior to 3.7.0, POST /api/tag/getTag is registered with model.CheckAuth only, omitting both model.CheckAdminRole and model.CheckReadonly, despite the handler performing a configuration write that is normally guarded by both. Any authenticated user — including publish-service RoleReader accounts and RoleEditor accounts on a read-only workspace — can call this endpoint with a sort argument to mutate model.Conf.Tag.Sort and trigger model.Conf.Save(), which atomically rewrites the entire workspace conf.json. This vulnerability is fixed in 3.7.0.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • siyuan-note siyuan

    fixed in 3.7.0

  • github.com/siyuan-note/siyuan/kernelGo

    fixed in 0.0.0-20260512140701-d7b77d945e0d

References 1

GitHub · siyuan-note/siyuan