Skip to main content

SiYuan EUVDEUVD-2026-60081

| CVE-2026-74798 CRITICAL
Path Traversal (CWE-22)
2026-08-17 VulnCheck GHSA-mwfp-66vr-j373
9.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Obtain authenticated MCP access to SiYuan
  2. Delivery
    Invoke database_clean with traversal id
  3. Exploit
    Bypass empty-string check into filepath.Join
  4. Execution
    Copy target file into history directory
  5. Impact
    Read exfiltrated copy and delete original

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

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

Exploitation Conditions

Exploitation requires an authenticated MCP client with permission to invoke the database_clean tool (CVSS PR:H), and the SiYuan kernel/MCP interface must be reachable by the attacker - the vector is AV:N so it can be network-reachable, but access to the privileged MCP tool surface is the gating prerequisite. The specific trigger is supplying path-traversal sequences (e.g. '../') in the id parameter of database_clean, which is passed to RemoveUnusedAttributeView without node-ID format validation. Impact is bounded to files readable by the SiYuan process account, so least-privilege deployment limits what can be read or deleted. Limiting factors: only affects versions before v3.7.4; requires MCP to be enabled and exposed; and requires the caller to already hold authenticated/privileged MCP access rather than being anonymously reachable.

Impact

The signals are largely consistent and point to a genuine high-severity issue for anyone exposing SiYuan's MCP interface: the CVSS 4.0 base score is 9.3 with VC:H/VI:H and subsequent-system SC:H/SI:H reflecting both arbitrary read and destructive deletion. Crucially the vector carries PR:H, so exploitation requires an already-authenticated/privileged MCP client - this is not an unauthenticated internet drive-by, which meaningfully lowers real-world exposure and argues the 9.3 overstates risk for typical single-user desktop installs. There is no EPSS score, POC, or KEV entry in the provided data, so probability-of-exploitation and active-exploitation signals are simply absent rather than reassuringly low; treat the risk as credible-but-unproven. The most realistic threat model is a shared, multi-tenant, or agent-driven deployment where an MCP client is reachable by a lower-trust party, or where a compromised/prompt-injected AI agent already holds MCP access and can be steered into invoking database_clean. Given the destructive delete primitive, operators running SiYuan as a networked service should patch promptly even though desktop-only users face materially lower urgency.

Exploit ScenarioDerived

An attacker who already has authenticated access to the SiYuan MCP endpoint - for example a low-trust user on a shared instance, or an AI agent that has been prompt-injected - invokes the database_clean tool with an id value containing '../' traversal sequences pointing at a sensitive file such as a config, key, or credential store readable by the kernel process. The kernel copies that file into its history directory (yielding arbitrary read) and deletes the original (arbitrary deletion). No POC is published in the available data, and the AC:L/AT:N vector indicates the traversal is straightforward to trigger once MCP access is held.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Aug 17, 2026

Arbitrary file read and deletion in SiYuan kernel before v3.7.4 arises from an unvalidated id parameter in the database_clean MCP tool, letting an authenticated MCP client traverse the filesystem to copy any process-readable file into the history directory and then delete the original. This is the MCP-facing twin of a flaw previously fixed on the HTTP API path (GHSA-7hm9-v7vf-7g4w), meaning a known-bad code pattern survived in a second caller. Reported by VulnCheck with a vendor patch available; no public exploit identified at time of analysis and not listed in CISA KEV.

RemediationAI

Upgrade SiYuan to v3.7.4 or later, which applies the same path-validation hardening to the MCP database_clean caller that GHSA-7hm9-v7vf-7g4w previously applied to the HTTP API handler; a vendor patch is confirmed available per the advisory (https://github.com/siyuan-note/siyuan/security/advisories/GHSA-43jx-gxq4-jpjc). If immediate patching is not possible, reduce exposure by not enabling or exposing the MCP interface to untrusted clients - bind it to localhost only and place it behind authentication you control, restrict which agents or users can invoke MCP tools, and specifically avoid granting MCP access to any AI agent processing untrusted input that could be prompt-injected into calling database_clean. Because the primitive both exfiltrates and deletes files, run the SiYuan kernel under a least-privileged OS account so the set of process-readable files is minimized, and ensure the workspace and adjacent data are backed up so arbitrary deletion is recoverable; note these controls limit blast radius but do not close the traversal flaw itself, so patching remains the only complete fix.

Affected VersionsENISA

SiYuan 0 <3.7.4

Affected Packages

euvd siyuan fix: 3.7.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 is a self-hosted, local-first personal knowledge-management/note-taking application whose Go kernel exposes both an HTTP API and a Model Context Protocol (MCP) tool surface for AI agent integration. The vulnerable database_clean MCP tool invokes RemoveUnusedAttributeView in kernel/model/attribute_view.go, which constructs a filesystem path with filepath.Join from the caller-supplied id. Because the only guard is an empty-string check - and no validation that id conforms to SiYuan's fixed node-ID format (a 14-digit timestamp plus a 7-character random suffix) - this is a textbook CWE-22 (Improper Limitation of a Pathname to a Restricted Directory). filepath.Join does not neutralize '../' sequences relative to a base, so traversal payloads resolve outside the intended attribute-view directory. The affected CPE is cpe:2.3:a:siyuan-note:siyuan:*:*:*:*:*:*:*:*.

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 9.3 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N
vuln.today AI 8.7 HIGH

MCP access requires an authenticated privileged client (PR:H) but is network-reachable and easy to trigger (AV:N/AC:L); path traversal escapes the app's data scope (S:C) enabling arbitrary read (C:H) and deletion (I:H), with no direct availability impact modeled (A:N).

3.1 AV:N/AC:L/PR:H/UI:N/S:C/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:H/SI:H/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
High
Subsequent system: Integrity
High
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Aug 17, 2026 - 12:01 EUVD
CVE Published
Aug 17, 2026 - 11:04 cve.org
CRITICAL 9.3

DescriptionCVE.org

SiYuan kernel before v3.7.4 contains a path traversal vulnerability in the database_clean MCP tool. The tool performs only an empty-string check on the id parameter before passing it to RemoveUnusedAttributeView (kernel/model/attribute_view.go), which builds a filesystem path via filepath.Join without validating that id matches SiYuan's node-ID format. An authenticated MCP client can supply path traversal sequences in id to cause the kernel to copy an arbitrary file readable by the process into SiYuan's history directory (arbitrary file read) and then delete the original file (arbitrary file deletion). The corresponding HTTP API handler was hardened in GHSA-7hm9-v7vf-7g4w, but this MCP caller was not.

Executive ViewAI

Why It Matters

SiYuan kernel versions before 3.7.4 contain a critical vulnerability that allows authenticated users to read and delete arbitrary files stored within the application environment, putting sensitive organizational data at risk of both unauthorized access and permanent loss. This affects any organization using SiYuan for document storage and collaboration, particularly those handling confidential information.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 70% exploitable
Prevalence
Low
self-hosted niche note-taking app, limited enterprise footprint
Data Quality
6 sources
Confidence: High

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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

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

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

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