Vulnerability · Published May 14, 2026 · Assigned by GitHub_M

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

Medium 4.3

In plain English

A medium-severity missing authorization in siyuan from siyuan-note. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 4% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)4.3Medium
Exploit odds (30 days)0.2%top 95.6% of all CVEs
Exploited in the wildNo reportsCISA SSVC: poc
Attack toolingNoneno public tooling known

Official description

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.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Gogithub.com/siyuan-note/siyuan/kernel0.0.0-20260512140701-d7b77d945e0dGO-2026-5188
Gogithub.com/siyuan-note/siyuan/kernel0.0.0-20260512140701-d7b77d945e0dGHSA-6r88-8v7q-q4p2

Affected products (as reported)

VendorProductVersions
siyuan-note siyuan < 3.7.0

Weakness: CWE-285, CWE-862 · Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N

References