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: 2026-05-14
Score: 4.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

SiYuan exposes the \/api\/tag\/getTag endpoint without enforcing Admin or Read‑Only checks, allowing any authenticated user to post a sort parameter. The handler writes the Conf.Tag.Sort value to the workspace’s conf.json file, which means an attacker can persist configuration changes without elevated rights. This flaw is a classic example of missing access control (CWE‑285) and improper authorization checks (CWE‑862), but it does not provide remote code execution or system compromise.

Affected Systems

SiYuan, an open‑source personal knowledge management system, is affected in all versions prior to 3.7.0. Any installation that has not applied the 3.7.0 release or later, or that has users with Reader or read‑only Editor roles, is vulnerable. No publicly disclosed exploitation exists yet, but the flaw can be used by legitimate users with limited privileges to alter application behavior.

Risk and Exploitability

The CVSS score of 4.3 indicates moderate severity. EPSS is not available and the vulnerability is not listed in the CISA KEV catalog. Exploitation requires authentication but no higher privileges; an attacker with a Reader or read‑only role can send a crafted POST request to mutate the configuration. Once the configuration is altered, the change is immediately persisted to disk and will affect all users of the workspace.

Generated by OpenCVE AI on May 14, 2026 at 21:07 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update SiYuan to version 3.7.0 or later, which enforces proper role checks on the endpoint.
  • Restrict Reader and read‑only Editor roles from performing configuration changes or remove the ability to call the /api/tag/getTag endpoint in those roles.
  • Audit and harden role‑based access controls to ensure that only authorized users can modify configuration files, mitigating the CWE‑285 and CWE‑862 weaknesses.

Generated by OpenCVE AI on May 14, 2026 at 21:07 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-6r88-8v7q-q4p2 SiYuan: Broken access control in `/api/tag/getTag` — Reader role can mutate `Conf.Tag.Sort` and persist to disk
History

Thu, 14 May 2026 20:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 14 May 2026 19:00:00 +0000

Type Values Removed Values Added
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.
Title SiYuan: Broken access control in SiYuan `/api/tag/getTag` — Reader role can mutate `Conf.Tag.Sort` and persist to disk
Weaknesses CWE-285
CWE-862
References
Metrics cvssV3_1

{'score': 4.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-05-14T19:36:38.687Z

Reserved: 2026-05-08T20:44:38.963Z

Link: CVE-2026-45147

cve-icon Vulnrichment

Updated: 2026-05-14T19:36:27.693Z

cve-icon NVD

Status : Deferred

Published: 2026-05-14T19:16:38.630

Modified: 2026-05-14T21:22:56.313

Link: CVE-2026-45147

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-14T21:15:16Z

Weaknesses