Read the docs

SiYuan 3.8.0 through 3.8.3 Path Traversal via MCP File Operations

Priority LOW 39CWE-863Published · Updated

Key facts

Attack vector
Network
Privileges required
High
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
Security bypass
Confidentiality · integrity · availability
High · High · None
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-863.

Summary

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00404 34th percentileScored 2026-11-07
Fix Fixed siyuan (siyuan-note): 3.8.4

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
siyuan-notesiyuan3.8.0 to before 3.8.43.8.4Patch availableCNA
  • siyuan Vendorsiyuan-note Affected 3.8.0 to before 3.8.4 Fixed in 3.8.4 Patch available CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:b3log:siyuan:*:*:*:*:*:*:*:*——siyuan-note
  • cpe:2.3:a:b3log:siyuan:*:*:*:*:*:*:*:* Versions — — ·siyuan-note

Remediation

  • Fix · CNA siyuan (siyuan-note) Fixed in 3.8.4

Fixed in the same release

Records fixed by the same vendor advisory or release, as the CNA lists them.

  • Release ·

    siyuan-note siyuan 3.8.4

    14 records Highest priority Priority HIGH 11 HIGH, 2 MEDIUM, 1 LOW

    Other records, highest priority first

    • TI-2026-64804 SiYuan before v3.8.4 SQL Injection via dailyNoteSavePathPriority HIGH 77
    • TI-2026-64806 SiYuan before v3.8.4 Authentication Bypass via Missing Origin HeaderPriority HIGH 72
    • TI-2026-64805 SiYuan 3.7.0 before 3.8.4 Stored XSS via Gallery KanbanPriority HIGH 72

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-100633
  2. 2026-10-03 Alias added: GHSA-x2gq-fcjj-cxqr
  3. 2026-10-05 CISA SSVC decision points changed

References

  • TI-2026-48492 SiYuan before v3.7.3 SQL Injection via searchDocs CVSS 4.0CRITICAL 9.9
  • TI-2026-48491 SiYuan before v3.7.3 SQL Injection via searchEmbedBlock CVSS 4.0CRITICAL 9.9
  • TI-2026-48490 SiYuan before v3.7.3 SQL Injection via fullTextSearchAssetContent CVSS 4.0CRITICAL 9.9
  • TI-2026-47010 SiYuan before v3.7.2 Unauthenticated Administrator Takeover via MCP CVSS 4.0CRITICAL 10.0
  • TI-2026-26050 SiYuan has directory traversal within its publishing service CVSS 3.1CRITICAL 9.8
  • TI-2026-25256 SiYuan: Authorization Bypass Allows Arbitrary SQL Execution via Search API CVSS 3.1CRITICAL 9.8
See all 242 →

Sources