CVE-2026-66012: SiYuan before v3.7.2 Unauthenticated Administrator Takeover via MCP
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.
Security readout for executives and security teams
Plain-English summary
A remotely reachable SiYuan server can expose sensitive workspace data and administrative secrets without authentication when Publish is enabled anonymously. Attackers may alter files and place a malicious plugin that gains administrator-level control when the desktop application next starts. The issue affects versions before 3.7.2.
Executive priority
Treat exposed anonymous Publish deployments as an immediate incident-response and patching priority. The vulnerability can compromise confidentiality, integrity, availability, and administrator control. Upgrade promptly, restrict exposure, rotate potentially readable secrets, and investigate affected workspaces before normal desktop use resumes.
Technical view
The Publish proxy assigns anonymous users a reader JWT, but POST /mcp checks only general authentication and omits administrator-role and read-only enforcement. This exposes 31 MCP tools, including unrestricted workspace file operations. Configuration secrets can be read, and workspace writes can establish code execution through SiYuan's desktop plugin model.
Likely exposure
Highest exposure exists where SiYuan before 3.7.2 runs with Publish enabled and Publish authentication disabled. Such instances may permit remote, unauthenticated access through the reverse proxy. The supplied evidence does not quantify deployment prevalence or confirm whether individual systems are internet-accessible.
Exploitation context
The CVSS 4.0 score is 10.0, reflecting network access, low complexity, no privileges, and no user interaction for initial compromise. Plugin-based takeover occurs on a subsequent desktop launch. The CVE is not listed as KEV in the supplied bundle, and no cited evidence confirms active exploitation.
Researcher notes
The authorization failure is CWE-862. The critical trust-boundary issue is that an anonymous RoleReader JWT satisfies the general authentication check while MCP lacks role and read-only controls. The supplied patch commit should be reviewed to confirm enforcement across every exposed MCP tool and proxy path. No exploitation telemetry is provided.
Mitigation direction
Upgrade SiYuan to version 3.7.2 or later using vendor guidance.
Until upgraded, disable anonymous Publish access or require Publish authentication.
Rotate access codes, API tokens, cookie keys, and related credentials that may have been exposed.
Review and remove unauthorized plugins or unexpected workspace files before reopening the desktop application.
Validation and detection
Confirm every SiYuan deployment reports version 3.7.2 or later.
Verify Publish authentication is enabled wherever the Publish server remains active.
Review configuration and exposure records for past anonymous Publish availability.
Inspect plugin directories and workspace changes for unauthorized additions, deletions, renames, or copies.
Confirm previously exposed secrets were rotated and dependent sessions or integrations were revalidated.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-862: Authorization and privilege behavior lookup
Authorization weaknesses can support privilege escalation and valid-account review, depending on exploit path. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references authentication or credential exposure, so valid-account and credential-access review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
2CVSS vectors
3Timeline events
1ADP providers
4Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: pocAutomatable: yesTechnical Impact: total
CVSS vector scores
2 official scores
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-862 · source CWE mapping
Missing Authorization
Missing Authorization represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.