Description
SiYuan is an open-source personal knowledge management system. Prior to 3.7.1, the /snippets/*filepath route handler serveSnippets in kernel/server/serve.go joins a single-decoded request path with the snippets directory without subpath containment or sensitive-path checks, allowing an authenticated request such as /snippets/%2e%2e/%2e%2e/conf/conf.json to read workspace secrets and the document database. This issue is fixed in versions 3.7.1.
Published: 2026-07-09
Score: 7.7 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

SiYuan contains a path traversal flaw in the /snippets/ static handler that concatenates a client‑supplied path with the snippets directory without containment checks. An authenticated user can request paths such as /snippets/%2e%2e/%2e%2e/conf/conf.json, which results in the server returning sensitive configuration data (conf.json) and the SQLite database file (siyuan.db). The weakness is a classic path traversal vulnerability (CWE of confidential information.

Affected Systems

The issue affects the Siyuan Note application, any instance running a version older than 3.7.1. Versions 3.7.1 and later contain the fix that removes unsafe path handling for the /snippets/ route.

Risk and Exploitability

The CVSS score of 7.7 classifies this flaw as High severity, but the EPSS score of less than 1% indicates a low exploitation probability. Because the flaw requires authentication, an attacker must first obtain valid credentials. The vulnerability is not listed in the CISA KEV catalog, suggesting no known widespread exploitation yet. In environments with weak authentication or shared accounts, the remediation.

Generated by OpenCVE AI on July 26, 2026 at 14:28 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade SiYuan to version 3.7.1 or later to eliminate the vulnerable path handling.
  • If an immediate upgrade is infeasible, restrict access to the /snippets/ endpoint to minimum‑required roles and configure reverse proxies or the web server to reject any request paths containing ".." or other directory‑escape sequences; additionally apply WAF rules to block traversal patterns.
  • Enable audit logging and monitor abnormal access to the /snippets/ endpoint, and review authentication logs for signs of compromise before and after implementing the patch.

Generated by OpenCVE AI on July 26, 2026 at 14:28 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 10 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 10 Jul 2026 09:30:00 +0000

Type Values Removed Values Added
First Time appeared Siyuan
Siyuan siyuan
Vendors & Products Siyuan
Siyuan siyuan

Thu, 09 Jul 2026 22:45:00 +0000

Type Values Removed Values Added
Description SiYuan is an open-source personal knowledge management system. Prior to 3.7.1, the /snippets/*filepath route handler serveSnippets in kernel/server/serve.go joins a single-decoded request path with the snippets directory without subpath containment or sensitive-path checks, allowing an authenticated request such as /snippets/%2e%2e/%2e%2e/conf/conf.json to read workspace secrets and the document database. This issue is fixed in versions 3.7.1.
Title SiYuan: Authenticated path traversal in /snippets/ static handler (serveSnippets) leaks conf/conf.json secrets and siyuan.db
Weaknesses CWE-22
CWE-23
References
Metrics cvssV3_1

{'score': 7.7, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-10T14:41:54.043Z

Reserved: 2026-07-07T15:00:50.979Z

Link: CVE-2026-59832

cve-icon Vulnrichment

Updated: 2026-07-10T14:41:50.821Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-26T14:30:03Z

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

  • CWE-23

    Relative Path Traversal