Skip to main content

SiYuan CVE-2025-67488

HIGH
Path Traversal (CWE-22)
2025-12-09 security-advisories@github.com
8.8
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with import access
  2. Delivery
    Craft ZipSlip archive with traversal paths
  3. Exploit
    Upload via importZipMd
  4. Execution
    Overwrite entrypoint.sh on host/container
  5. Persist
    Trigger container restart
  6. Impact
    Execute attacker code as service user

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 (1) a valid authenticated SiYuan account that has access to the notes import functionality, and (2) the ability to upload a ZIP archive processed by importZipMd. Arbitrary file overwrite works against any writable path the service process can reach via ../ traversal entries. Escalation to full RCE is NOT automatic: it depends on overwriting a file that is later executed - the advisory's concrete path is the official Docker image's entrypoint.sh, which only runs attacker code after a container restart. Limiting factors: authentication (PR:L) narrows the attacker set to credentialed users, which for this single-/few-user self-hosted tool is often the operator; RCE further depends on deployment mode (Docker entrypoint or an equivalent auto-executed file) and on a restart occurring. Non-Docker deployments still face arbitrary file overwrite but the RCE path may differ or be unavailable.

Impact

This is a genuine but conditionally-gated priority rather than a drop-everything emergency. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N) and the 8.8 base score describe a network-reachable, low-complexity flaw that requires only a low-privileged authenticated account (PR:L) and no user interaction, with full C/I/A impact driven by the ZipSlip-to-RCE escalation path. Publicly available exploit code exists (a working PoC ZIP generator is published in the GHSA advisory), which raises practical risk. However, the CVE is NOT in CISA KEV, so there is no confirmed active exploitation, and the EPSS score is low at 0.44% (37th percentile), consistent with a product that is not a mass-exploitation target. The key tension to flag: PR:L means exploitation presupposes the attacker already holds a valid account with access to the notes import feature - for a self-hosted single-user knowledge tool this is often the owner themselves, which sharply limits the realistic external-attacker population. Full RCE is further described as achievable only 'under some circumstances' (notably the official Docker image, by overwriting entrypoint.sh and awaiting a container restart), so the headline RCE outcome is conditional, not guaranteed. Net: real and exploit-code-backed, but the authentication requirement and conditional RCE path make it a high-severity issue with a narrow preconditions window rather than a wormable internet-wide threat.

Exploit ScenarioDerived

An authenticated SiYuan user (or an attacker who has obtained valid credentials) crafts a malicious ZIP whose entries use path-traversal names like ../../../../opt/siyuan/entrypoint.sh and uploads it through the notes Markdown import feature, where the vulnerable importZipMd function extracts entries without sanitizing paths, overwriting the targeted file. A public PoC exists that generates exactly this ZIP; on the official Docker image the overwritten entrypoint.sh executes attacker-controlled code on the next container restart, yielding remote code execution.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 14, 2026

An authenticated ZipSlip path-traversal flaw in SiYuan's notes import feature (importZipMd) lets any credentialed user who can reach the import functionality overwrite arbitrary files the service process can write, using specially crafted ../ entries inside an uploaded ZIP; the affected range is all builds up to 0.0.0-20251202123337-6ef83b42c7ce. The primitive is arbitrary file overwrite, and escalation to full code execution is conditional rather than automatic - the advisory's concrete path is overwriting the official Docker image's entrypoint.sh, which only runs attacker code after a container restart, so RCE depends on deployment mode and on a restart occurring. Publicly available exploit code exists (a proof-of-concept ZIP generator is published in the advisory), but there is no confirmation of active exploitation (not in CISA KEV), and EPSS is low at 0.44% (37th percentile), reflecting the credential and deployment gates. A vendor fix is planned for version 3.5.0 but no released patch is available at time of analysis.

RemediationAI

No vendor-released patch is available at time of analysis; the maintainers state a fix is planned for version 3.5.0, so the primary remediation is to upgrade to 3.5.0 (or later) as soon as it ships and to track the GitHub advisory GHSA-gqfv-g4v7-m366 for the release. Until then, restrict the notes import capability so that only fully trusted operators hold accounts able to import ZIP files, and rotate or remove credentials for any untrusted user who has had import access, since the flaw is only reachable by an authenticated user (CVSS PR:L). For Docker deployments, mount the container's startup script and application directories read-only where possible (for example a read-only bind or immutable entrypoint.sh) so a traversal write cannot modify auto-executed files, and run the container with a read-only root filesystem plus a writable volume limited to the notes data directory; note that this blocks the entrypoint.sh-to-RCE path but non-Docker installs may still allow overwrite of other files, so deployment-specific hardening is required. As a further compensating control, run SiYuan as a low-privilege account whose write permissions are confined to its data directory, place the instance behind authentication/reverse-proxy access controls so only trusted users reach the import endpoint, and monitor file-integrity for changes to entrypoint.sh and other service binaries to catch exploitation attempts.

Affected Packages

go github.com/siyuan-note/siyuan/kernel no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in go

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

Technical ContextAI · show details

The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory / 'Path Traversal'), realized as a classic ZipSlip: the Go function importZipMd in kernel/api/import.go (around line 190, package go/github.com/siyuan-note/siyuan/kernel) extracts user-supplied ZIP archives without validating or canonicalizing the entry names, so archive members whose names contain ../ sequences are written outside the intended import directory. Because the write target is resolved relative to the process's working directory and permissions, any path the SiYuan service account can write - including files under /opt/siyuan in the official Docker deployment - becomes reachable. The advisory demonstrates overwriting entrypoint.sh so that the container's startup script contains attacker code, yielding code execution and some persistence on the next restart; equivalent auto-executed or auto-loaded files could serve as alternative escalation targets depending on how SiYuan is deployed. CPE cpe:2.3:a:b3log:siyuan:*:*:*:*:*:*:*:* marks all versions as affected, and the module note records the vulnerable range as <= 0.0.0-20251202123337-6ef83b42c7ce with no fixed version published. The CVSS 3.1 vector AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H (8.8 High) matches the assessment: remotely exploitable with low complexity but requiring low privileges (a valid account with import access), no user interaction, and high confidentiality, integrity, and availability impact - though impact in practice is gated by the file-overwrite-then-execute chain.

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

NVD PRIMARY 8.8 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 8.8 HIGH

Network-reachable import feature usable by any low-privileged authenticated user (PR:L, AV:N, AC:L, UI:N); arbitrary file overwrite escalating to RCE justifies C:H/I:H/A:H with unchanged scope.

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

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

DescriptionNVD

SiYuan is self-hosted, open source personal knowledge management software. Versions 0.0.0-20251202123337-6ef83b42c7ce and below contain function importZipMd which is vulnerable to ZipSlips, allowing an authenticated user to overwrite files on the system. An authenticated user with access to the import functionality in notes is able to overwrite any file on the system, and can escalate to full code execution under some circumstances. A fix is planned for version 3.5.0.

Executive ViewAI

Why It Matters

SiYuan deployments used for note import are exposed to a high-severity file-overwrite flaw that can escalate to code execution in common Docker configurations, affecting any environment where users can reach the import feature. Publicly available exploit code exists, and no vendor-released patch identified at time of analysis, so leadership should prioritize reducing exposure, restricting import access, and monitoring affected instances. The business risk is highest for internet-facing, multi-tenant, or broadly writable SiYuan services where container restarts or weak file permissions could turn a credentialed file overwrite into a broader compromise.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis; interim mitigations include disabling or restricting notes import and importZipMd to trusted administrators, running SiYuan with least privilege, making container root filesystems read-only, removing write access to entrypoint.sh and other service-writable sensitive paths, enabling file-integrity monitoring and alerting on unexpected container restarts, and isolating affected instances from sensitive data and networks until version 3.5.0 is released.

Threat Intelligence Overview

EPSS Score
0.4%
Top 63% exploitable
Prevalence
Low
niche self-hosted open-source personal knowledge tool, no enterprise footprint
Exploit
POC
Public exploit code exists
Data Quality
4 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 Yes
EPSS 0.4%
Patch available No
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· derived
Scheduled
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

64
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: +20
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.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

Affected Products (CPE)NVD

cpe:2.3:a:b3log:siyuan:*:*:*:*:*:*:*:*

More in Siyuan

View all
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-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

CVE-2026-29183 CRITICAL POC
9.3 Mar 06

Reflected XSS in SiYuan knowledge management before 3.5.9.

CVE-2026-25539 CRITICAL POC
9.1 Feb 04

SiYuan knowledge management system prior to 3.5.5 has a path traversal in /api/file/copyFile allowing arbitrary file ope

CVE-2024-2692 CRITICAL POC
9.0 Apr 04

SiYuan version 3.0.3 allows executing arbitrary commands on the server. Rated critical severity (CVSS 9.0), this vulnera

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