Description
SiYuan before v3.7.2 contains a missing authorization vulnerability in the POST /mcp kernel endpoint, which is gated only by a general auth check (model.CheckAuth) with no admin-role or read-only enforcement. This exposes 31 MCP tools, including a file tool with list/read/write/delete/rename/copy actions across the entire workspace. When the Publish server is enabled in anonymous mode (Conf.Publish.Enable=true and Conf.Publish.Auth.Enable=false), the Publish reverse proxy attaches an anonymous RoleReader JWT to proxied requests, allowing a remote unauthenticated attacker to reach /mcp. The attacker can read conf/conf.json to extract accessAuthCode, api.token, and cookieKey in plaintext, write arbitrary files in the workspace, and plant a plugin into data/plugins/ that executes with nodeIntegration:true and no contextIsolation on the next desktop launch, leading to administrator takeover.
Published: 2026-07-25
Score: 10 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

SiYuan Note before version 3.7.2 contains a missing authorization check on the POST /mcp endpoint. Only a generic authentication test (model.CheckAuth) is performed, with no enforcement of an administrator or read‑only role. As a result, 31 Management Console Protocol tools are exposed, including a file tool that can list, read, write, delete, rename, and copy any file in the workspace. When the Publish server is enabled in anonymous mode, the reverse proxy attaches an anonymous RoleReader JWT to forwarded requests, enabling a remote, unauthenticated attacker to reach /mcp. The attacker can read the local configuration file to extract the accessAuthCode, api.token, and cookieKey in plain text, write arbitrary files into the workspace, and plant a malicious plugin under data/plugins/. The plugin will be executed with nodeIntegration:true and no contextIsolation when the desktop application next starts, giving full administrative control. The underlying weakness is CWE‑862: Missing Authorization.

Affected Systems

The problem affects SiYuan Note instances running any pre‑3.7.2 build. Only these older releases lack the fix; versions 3.7.2 and later include the proper authorization checks on the /mcp endpoint. The vulnerability is present regardless of the operating system, as the flaw resides in the application code rather than the underlying platform.

Risk and Exploitability

The CVSS score of 10 highlights critical severity. The EPSS score of < 1% indicates a very low likelihood of exploitation under normal circumstances, and the vulnerability is not listed in CISA’s KEV catalog. Nonetheless, the exploit path requires the Publish server to be enabled in anonymous mode—a configuration commonly used by administrators—allowing an attacker who can reach the target network to gain full administrative privileges without authentication. The attack vector is remote, with no authentication required beyond the exposed endpoint, but it hinges on a specific misconfiguration of the Publish server.

Generated by OpenCVE AI on August 3, 2026 at 18:19 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the official update to SiYuan version 3.7.2 or later to eliminate the missing authorization check on the /mcp endpoint.
  • If an upgrade is not immediately possible, disable the Publish server or enable Publish authentication to prevent anonymous JWT injection.
  • Restrict write permissions to the workspace directory and monitor the data/plugins/ folder for unauthorized files.
  • Consider configuring plugins with nodeIntegration disabled or contextIsolation enabled to reduce the impact of any malicious plugin.

Generated by OpenCVE AI on August 3, 2026 at 18:19 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 28 Jul 2026 01:30:00 +0000

Type Values Removed Values Added
First Time appeared B3log
B3log siyuan
CPEs cpe:2.3:a:b3log:siyuan:*:*:*:*:*:*:*:*
Vendors & Products B3log
B3log siyuan

Mon, 27 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
First Time appeared Siyuan
Siyuan siyuan
Vendors & Products Siyuan
Siyuan siyuan
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Sat, 25 Jul 2026 11:00:00 +0000

Type Values Removed Values Added
Description SiYuan before v3.7.2 contains a missing authorization vulnerability in the POST /mcp kernel endpoint, which is gated only by a general auth check (model.CheckAuth) with no admin-role or read-only enforcement. This exposes 31 MCP tools, including a file tool with list/read/write/delete/rename/copy actions across the entire workspace. When the Publish server is enabled in anonymous mode (Conf.Publish.Enable=true and Conf.Publish.Auth.Enable=false), the Publish reverse proxy attaches an anonymous RoleReader JWT to proxied requests, allowing a remote unauthenticated attacker to reach /mcp. The attacker can read conf/conf.json to extract accessAuthCode, api.token, and cookieKey in plaintext, write arbitrary files in the workspace, and plant a plugin into data/plugins/ that executes with nodeIntegration:true and no contextIsolation on the next desktop launch, leading to administrator takeover.
Title SiYuan before v3.7.2 Unauthenticated Administrator Takeover via MCP
Weaknesses CWE-862
References
Metrics cvssV3_1

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

cvssV4_0

{'score': 10, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-07-28T01:06:21.864Z

Reserved: 2026-07-23T19:22:30.643Z

Link: CVE-2026-66012

cve-icon Vulnrichment

Updated: 2026-07-27T14:06:12.056Z

cve-icon NVD

Status : Deferred

Published: 2026-07-25T11:17:19.053

Modified: 2026-07-28T16:07:15.840

Link: CVE-2026-66012

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-03T18:30:06Z

Weaknesses