CVE-2026-66012: SiYuan before v3.7.2 Unauthenticated Administrator Takeover via MCP
Advisory generated from the CVE record, CISA, Exploit Observer and VEDAS: what it is, whether it is exploited, who is affected, and how to fix and detect it.
Generated by VEDAS. Scores as of 2026-11-04 15:41 UTC. Rebuilt every few hours from cve-scores, CISA KEV and vedas-signatures. How this works and its limits.
What it is
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.
Description quoted from the CVE record (assigned by VulnCheck, published 2026-07-25).
Weakness: Missing Authorization
How it can be exploited
Exploitable over the network with low attack complexity with no special attack requirements needing no privileges and no user interaction. Impact: confidentiality high, integrity high, availability high. 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
CISA assessment (SSVC): CISA assesses that a public proof of concept exists. Automatable: yes. Technical impact: total.
Public exploit evidence (Exploit Observer)
Exploit Observer found 6 code repositories naming this CVE.
Code repositories that name a CVE are often scanners, copies or fakes, and some are malware. Read the code before running anything.
See all 11 references on Exploit Observer
Live scores
- EPSS
- 0.008
low predicted chance of attack - VEDAS
- 0.987
strong exploit evidence - On CISA KEV
- Not listed
Who is affected
| Product | Affected | Not affected |
|---|---|---|
| siyuan-note siyuan | before 3.7.2 | 3.7.2 is not affected |
Version ranges exactly as the CVE record states them. “Before X” means X is the first fixed version.
How to fix it
Fixed versions stated in the CVE record: 3.7.2.
Vendor guidance:
- GitHub Security Advisory (GHSA-cvhv-7xhj-xjp8) (vendor-advisory)
- https://github.com/siyuan-note/siyuan/commit/c72ca4cd09019e5f64afdee8f8c6ec5ef34858db (patch)
How to detect it
Nuclei template (active check)
SiYuan - Missing Authorization in MCP Kernel Endpoint
SiYuan before 3.7.2 exposes the POST /mcp kernel endpoint protected only by a general auth check with no admin-role or read-only enforcement. When the Publish server runs in anonymous mode the endpoint becomes reachable unauthenticated, exposing 31 MCP tools including a file tool able to list, read, write, delete, rename and copy workspace files, leading to administrator takeover. This template confirms the flaw non-destructively by performing an unauthenticated MCP initialize handshake against the endpoint.
Name and description quoted from the template, written by VEDAS.
The template sends 1 request (POST /mcp); it decides using status, word matchers. Severity in the template: critical. Marked as not yet verified against a live vulnerable target.
Run it against a host you own or are authorised to test:
nuclei -u https://your-host -t CVE-2026-66012.yamlShow the template (47 lines)
id: CVE-2026-66012
info:
name: "SiYuan - Missing Authorization in MCP Kernel Endpoint"
author: vedas-arpsyndicate
severity: critical
description: |
SiYuan before 3.7.2 exposes the POST /mcp kernel endpoint protected only by a general auth
check with no admin-role or read-only enforcement. When the Publish server runs in anonymous
mode the endpoint becomes reachable unauthenticated, exposing 31 MCP tools including a file
tool able to list, read, write, delete, rename and copy workspace files, leading to
administrator takeover. This template confirms the flaw non-destructively by performing an
unauthenticated MCP initialize handshake against the endpoint.
reference:
- https://www.exploit.observer/?keyword=CVE-2026-66012&match=exact
- https://subdomain.center/?engine=ammonites&keyword=siyuan&match=exact
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
cvss-score: 10.0
cve-id: CVE-2026-66012
cwe-id: CWE-862
metadata:
verified: false
max-request: 1
tags: cve,cve2026,siyuan,mcp,missing-auth,unauth
http:
- raw:
- |
POST /mcp HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
Accept: application/json, text/event-stream
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"vedas","version":"1"}}}
matchers-condition: and
matchers:
- type: word
part: body
words:
- "jsonrpc"
- "protocolVersion"
- "result"
condition: and
- type: status
status:
- 200
Suricata rules (network detection)
1 rule that alert on traffic matching this exploit: VEDAS CVE-2026-66012 SiYuan - Missing Authorization MCP Tool Invocation Attempt. Add them to your Suricata rule set and reload.
Show the rules
alert http $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"VEDAS CVE-2026-66012 SiYuan - Missing Authorization MCP Tool Invocation Attempt"; flow:established,to_server; http.method; content:"POST"; http.uri; content:"/mcp"; nocase; http.request_body; content:"tools/call"; nocase; fast_pattern; content:"file"; nocase; classtype:web-application-attack; reference:cve,CVE-2026-66012; reference:url,https://www.exploit.observer/?keyword=CVE-2026-66012&match=exact; reference:url,https://subdomain.center/?engine=ammonites&keyword=siyuan&match=exact; sid:1080801; rev:1;)
CVE-2026-66012.rules on GitHub
References
Vendor advisories and patches
- GitHub Security Advisory (GHSA-cvhv-7xhj-xjp8) (vendor-advisory)
- https://github.com/siyuan-note/siyuan/commit/c72ca4cd09019e5f64afdee8f8c6ec5ef34858db (patch)
Technical analysis and advisories
- VulnCheck Advisory: SiYuan before v3.7.2 Unauthenticated Administrator Takeover via MCP (third-party-advisory)
Other databases
Where this comes from
This advisory is generated automatically by VEDAS from: CVE.org record, cve-scores (EPSS and VEDAS), Exploit Observer, vedas-signatures. Text in quotes is reproduced from the source; everything else is a fixed template filled with source fields. Nothing here is written by a language model. Check the vendor advisory before acting, and read how VEDAS and Exploit Observer work, and their limits.