Home

Description

SiYuan is an open-source personal knowledge management system. Prior to 3.7.0, SiYuan publish-mode Reader can mutate Conf and SQL index via 8 ungated APIs. POST /api/graph/getGraph, POST /api/graph/getLocalGraph, POST /api/sync/setSyncInterval, POST /api/storage/updateRecentDocViewTime, POST /api/storage/updateRecentDocCloseTime, POST /api/storage/updateRecentDocOpenTime, POST /api/storage/batchUpdateRecentDocCloseTime, and POST /api/search/updateEmbedBlock are registered with model.CheckAuth only, omitting both model.CheckAdminRole and model.CheckReadonly. Each of them writes server-side state, including atomic rewrites of <workspace>/conf/conf.json via model.Conf.Save(). Any caller whose JWT passes CheckAuth, including a publish-service RoleReader (the role assigned to anonymous publish visitors) and a RoleEditor against a workspace where Editor.ReadOnly = true, can hit them This vulnerability is fixed in 3.7.0.

PUBLISHED Reserved 2026-05-12 | Published 2026-05-14 | Updated 2026-05-15 | Assigner GitHub_M




HIGH: 7.2CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:H/VA:L/SC:N/SI:N/SA:N

Problem types

CWE-285: Improper Authorization

CWE-862: Missing Authorization

Product status

< 3.7.0
affected

References

github.com/...siyuan/security/advisories/GHSA-gmmv-4cc5-wr9r exploit

github.com/...siyuan/security/advisories/GHSA-gmmv-4cc5-wr9r

cve.org (CVE-2026-45371)

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

Download JSON