Home

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.

PUBLISHED Reserved 2026-05-08 | Published 2026-05-14 | Updated 2026-05-14 | Assigner GitHub_M




MEDIUM: 4.3CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N

Problem types

CWE-285: Improper Authorization

CWE-862: Missing Authorization

Product status

< 3.7.0
affected

References

github.com/...siyuan/security/advisories/GHSA-6r88-8v7q-q4p2 exploit

github.com/...siyuan/security/advisories/GHSA-6r88-8v7q-q4p2

cve.org (CVE-2026-45147)

nvd.nist.gov (CVE-2026-45147)

Download JSON