Skip to main content

SiYuan EUVDEUVD-2026-87727

| CVE-2026-100633 HIGH
Incorrect Authorization (CWE-863)
2026-09-26 VulnCheck GHSA-x2gq-fcjj-cxqr
8.5
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as SiYuan admin or hijack MCP/Agent session
  2. Delivery
    Issue recursive file.grep/copy/unzip on permitted root
  3. Exploit
    Guard skips descendant path re-check
  4. Execution
    Read TLS keys/config or overwrite protected files
  5. Impact
    Confidentiality/integrity compromise of workspace

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an authenticated SiYuan administrator (PR:H) operating versions 3.8.0 through 3.8.3 with the MCP file tool reachable either via the in-app Agent or an external MCP server. The core defect: util.IsForbiddenAbsPath() is checked only against the allowed root of a recursive operation, not against each resolved descendant, so file.grep, file.copy, and unzip reach protected non-hidden descendants (conf/conf.json, TLS keys, data/snippets/conf.json, data/templates/, data/.siyuan/publishAccess.json, notebook .siyuan internals, kernel log). Limiting factors: administrative authentication is mandatory; file.copy-then-read and unzip require the actor to choose lexically contained target/member names; only file.grep runs without a confirmation card. The practical risk amplifier is agentic/prompt-injection abuse, since file.grep is classified as a safe action and confirmation cards for copy/unzip hide the real descendant paths. Fixed in 3.8.4.

Impact

The vendor CVSS 4.0 vector (CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:N) scores 8.5, but the PR:H requirement materially constrains real-world risk: exploitation requires an already-authenticated administrator, and SiYuan is a single-user, self-hosted personal knowledge tool where the admin is typically the sole operator. The more credible threat is not privilege escalation by a low-privileged user but rather agentic abuse - prompt injection or a malicious MCP client steering the in-app Agent to invoke file.grep/file.copy/unzip against protected descendants, made stealthy by the fact that file.grep is globally classified as 'safe' (no per-call confirmation) and the confirmation cards for file.copy/unzip display only the allowed root, hiding the actual descendant targets. EPSS, CISA KEV, and public POC signals are all absent, indicating no evidence of active or automated exploitation; this is a genuine authorization-guard defect rather than a mass-exploited flaw. CWE-863 (Incorrect Authorization) is accurate - the sensitive-path denylist is simply not re-applied to each resolved descendant, an explicitly incomplete fix for prior GHSA-c8r8-95hg-mp34. Priority is moderate: real confidentiality/integrity exposure of TLS keys, config, and templates, but gated behind admin authority.

Exploit ScenarioDerived

An authenticated SiYuan administrator - or an LLM agent driven by injected instructions through the in-app Agent or an external MCP server - issues a recursive file.grep whose allowed root passes the guard but whose descendants include conf/conf.json or TLS private keys, returning matching lines with no confirmation prompt. Alternatively the actor uses file.copy to relocate a protected descendant (e.g. data/.siyuan/publishAccess.json) to an ordinary path and then file.read to retrieve it, or uses unzip to overwrite a protected descendant via a lexically contained ZIP member name. No public exploit code is identified at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 26, 2026

Sensitive-path guard bypass in SiYuan 3.8.0 through 3.8.3 lets an authenticated administrator reach files that the protected-workspace denylist is designed to exclude by invoking recursive MCP file operations against a permitted root: file.grep can return matching lines from non-hidden protected descendants such as conf/conf.json, TLS keys, data/snippets/conf.json, data/templates/, data/.siyuan/publishAccess.json, notebook .siyuan internals, and the kernel log, while file.copy can stage those descendants to an ordinary path for a follow-on file.read and unzip can overwrite them using lexically contained ZIP member names. The defect is an incomplete fix for GHSA-c8r8-95hg-mp34 that was addressed in SiYuan 3.8.4, and no public exploit code was identified at the time of analysis. Because administrative authentication (PR:H) is mandatory and SiYuan is typically a single-user, self-hosted tool where the admin is the sole operator, real-world risk is materially constrained, though prompt injection into the in-app Agent is the practical amplifier since file.grep is globally classified as a safe action and therefore receives no per-call confirmation.

RemediationAI

Vendor-released patch: 3.8.4 - upgrading to SiYuan 3.8.4 completes the sensitive-path guard so that each resolved descendant, not just the allowed root, is validated by util.IsForbiddenAbsPath(). Where an immediate upgrade is not possible, reduce exposure by disabling the external MCP server or binding it only to a trusted interface/localhost and by suspending use of the in-app Agent against untrusted or externally sourced content, since file.grep is classified as a safe action and receives no per-call confirmation card; the trade-off is that this removes agentic file operations entirely for that deployment rather than selectively narrowing them. Because the confirmation cards for file.copy and unzip render only the allowed root arguments and conceal the protected descendant paths actually being touched, operators should not rely on those prompts for scope review and should refuse approvals for recursive roots spanning conf/, data/.siyuan/, TLS key material, data/snippets/conf.json, data/templates/, or kernel-log locations unless the source content is fully trusted. Given the mandatory administrative authentication prerequisite, rotate any credentials, TLS keys, or publish-access secrets that may have been read and audit MCP and Agent logs for anomalous grep, copy, and unzip invocations against sensitive roots; none of these compensating controls replace installing 3.8.4. Advisory references: https://github.com/siyuan-note/siyuan/security/advisories/GHSA-9g6v-r3xf-673q and https://www.vulncheck.com/advisories/siyuan-3.8.0-through-3.8.3-path-traversal-via-mcp-file-operations .

Affected VersionsENISA

SiYuan 3.8.0 <3.8.4

Affected Packages

euvd siyuan fix: 3.8.4

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

SiYuan's MCP file tool funnels path resolution through resolvePath(), which invokes util.IsForbiddenAbsPath() to enforce a denylist of protected workspace files. The bug is that the guard is evaluated only against the allowed root supplied to a recursive operation, not against each descendant path that the recursion actually resolves; this maps to CWE-863 (Incorrect Authorization) because the per-path authorization decision is simply omitted for descendants. Three primitives are affected: file.grep reads matched content from non-hidden protected descendants and is classified as a global safe action, so it executes with no confirmation card; file.copy writes protected descendants to a permitted location from which file.read can retrieve them; and unzip overwrites protected descendants using ordinary ZIP member names that remain lexically contained within the allowed root, defeating the guard's lexical-containment expectation. file.copy and unzip do raise confirmation cards, but those cards render only the allowed root arguments, hiding the protected descendant paths the operation actually touches, which makes operator review ineffective. Exploitation requires the MCP file tool to be reachable via the in-app Agent or an external MCP server and requires an authenticated administrator; the copy-then-read and unzip paths additionally require the actor to select lexically contained target or member names, while file.grep is the friction-free primitive and the natural target for agentic or prompt-injection abuse. The CPE entry cpe:2.3:a:siyuan-note:siyuan:*:*:*:*:*:*:*:* is version-agnostic and does not itself pin the vulnerable range; the vendor advisory scopes the flaw to 3.8.0 through 3.8.3 as an incomplete remediation of GHSA-c8r8-95hg-mp34.

Know when Siyuan gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 8.5 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Remote MCP/API access with low complexity but mandatory admin authentication (PR:H); high confidentiality (key/config disclosure) and integrity (unzip overwrite), no availability impact, scope unchanged.

3.1 AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
High
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Sep 26, 2026 - 14:02 EUVD
CVE Published
Sep 26, 2026 - 13:23 cve.org
HIGH 8.5

DescriptionCVE.org

SiYuan is a self-hosted personal knowledge management system. In versions 3.8.0 through 3.8.3, the MCP file tool's sensitive-path guard (util.IsForbiddenAbsPath(), invoked from resolvePath()) is applied only to the allowed root of recursive operations and not to each resolved descendant path - an incomplete fix for GHSA-c8r8-95hg-mp34. An authenticated administrator using the in-app Agent or the external MCP server can therefore bypass the protected-workspace-file denylist: file.grep can return matching lines from non-hidden protected descendants (for example conf/conf.json, TLS keys, data/snippets/conf.json, data/templates/, data/.siyuan/publishAccess.json, notebook .siyuan internals, or the kernel log), file.copy can copy protected descendants to an ordinary path where file.read can then retrieve them, and unzip can overwrite protected descendants using ordinary, lexically contained ZIP member names. Because file.grep is globally classified as a safe action, it receives no per-call confirmation, and the confirmation cards for file.copy and unzip show only the allowed root arguments. This issue is fixed in version 3.8.4. Suggested title: SiYuan 3.8.0 through 3.8.3 Sensitive-Path Guard Bypass in Recursive MCP File Operations.

Technical POC Analysis

No runnable PoC is included in the supplied evidence.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

SiYuan, a self-hosted personal knowledge management application, is affected by a high-severity vulnerability in versions 3.8.0 through 3.8.3 that permits an administrator to bypass file-access protections and read sensitive workspace files such as configuration data and TLS keys. Although the flaw requires administrator-level access and SiYuan is usually deployed as a single-user tool, organizations should care because a compromised or malicious admin account could expose secrets that undermine broader system security. No public exploit code has been identified, and no vendor patch is currently available, so risk must be managed through operational safeguards.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include disabling or restricting MCP file operations to trusted administrators, isolating SiYuan instances from untrusted networks, running the service with least privilege, monitoring for anomalous file.grep/file.copy/unzip activity, and applying OS-level access controls to protect sensitive configuration and TLS key files.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Prevalence
Low
popular open-source self-hosted PKM but niche personal-use deployment footprint
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
Medium
Technical Impact
Total

Priority Score

42
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

More in Siyuan

View all
CVE-2026-69083 CRITICAL POC
9.9 Aug 03

SQL injection in SiYuan's fullTextSearchAssetContent endpoint lets unauthenticated attackers and holders of publish Role

CVE-2026-54067 CRITICAL POC
9.9 Jun 24

Stored cross-site scripting in SiYuan personal knowledge management before 3.7.0 lets an attacker with write access to a

CVE-2026-69084 CRITICAL POC
9.9 Aug 03

SQL injection in SiYuan personal knowledge management (versions <= v3.7.2) lets attackers pass arbitrary SQL statements

CVE-2026-54158 CRITICAL POC
9.9 Jun 24

Stored cross-site scripting in SiYuan's attribute-view (database) cell renderer, affecting all versions prior to 3.7.0,

CVE-2026-69085 CRITICAL POC
9.9 Aug 03

SQL injection in SiYuan personal knowledge-management software (all versions before v3.7.3) lets attackers inject arbitr

CVE-2024-53507 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability was discovered in Siyuan 3.1.11 in /getHistoryItems. Rated critical severity (CVSS 9.8), t

CVE-2024-53506 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the ids array parameter in /batchGetBlockAttrs. R

CVE-2024-53505 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the id parameter at /getAssetContent. Rated criti

CVE-2024-53504 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the notebook parameter in /searchHistory. Rated c

CVE-2026-23852 CRITICAL POC
9.6 Jan 19

SiYuan personal knowledge management system prior to 3.5.4 has a stored XSS vulnerability (CVSS 9.6) that allows code ex

CVE-2026-56397 CRITICAL POC
9.4 Jun 21

Remote code execution in SiYuan note-taking application (before v3.6.1) allows any malicious Bazaar marketplace package

CVE-2026-54069 CRITICAL POC
9.2 Jun 24

Origin-validation bypass in SiYuan Note (open-source personal knowledge management) before 3.7.0 lets any installed Chro

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy