/

CVE-2026-100638

Severity:

HIGH RISK

(7.6)

Path Traversal (CWE-73) in SiYuan Notebook Icons

CVE-2026-100638

Deferred

Vulnerability type

Category:

Path Traversal

CWE:

CWE-73

Impact:

Arbitrary File Write

Severity:

HIGH RISK

(7.6)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

A path traversal vulnerability in SiYuan's setNotebookIcon endpoint allows authenticated administrators to escape the intended workspace directory and create directories or write files in other accessible locations. The issue becomes risky when attacker-controlled notebook path values are processed without enforcing a workspace boundary.

Affected context

The vulnerability occurs in SiYuan deployments where the setNotebookIcon endpoint accepts notebook values that influence filesystem paths. If traversal sequences are not normalized and constrained to the workspace data directory, an authenticated administrator may cause the kernel process to create directory trees and write conf.json files outside the intended boundary.

Exploit preconditions

  • Attack surface: The authenticated setNotebookIcon application endpoint
  • Required access: Authenticated administrator privileges
  • Trigger point: Processing a notebook parameter when constructing filesystem paths
  • Why exploitation is possible: The endpoint does not reliably constrain the resolved path to the workspace directory, allowing traversal sequences to redirect file operations

Why this happens

The underlying bug is improper limitation of a filesystem path derived from user-controlled input. The endpoint uses the notebook parameter in path construction without sufficiently canonicalizing the result and verifying that it remains beneath the permitted workspace root. This behavior maps to CWE-73, External Control of File Name or Path, because externally influenced path data can direct file operations outside the intended location.

Potential impact

  • Attackers may create arbitrary directory trees accessible to the kernel process.
  • Attackers could overwrite or create configuration files such as conf.json.
  • The application may experience configuration tampering or service disruption.
  • File writes could contribute to further compromise depending on permissions and file usage.

General mitigation guidance

Mitigation generally focuses on enforcing a strict filesystem boundary for every

user-influenced path operation.

Common defensive patterns include:

  • Canonicalizing candidate paths before use and verifying they remain beneath an approved root.
  • Rejecting traversal sequences, absolute paths, and unexpected path separators as defense-in-depth controls.
  • Using identifier-based notebook resolution instead of accepting raw path components.
  • Restricting the kernel process to the minimum filesystem permissions required.
  • Separating writable application data from sensitive configuration and executable locations.
  • Applying allowlisted file names and schemas for generated configuration files.
  • Treating authenticated administrator input as untrusted for filesystem operations.

How teams detect issues like this

Organizations can identify similar issues through:

  • Static analysis rules for concatenation or interpolation of request parameters into filesystem paths.
  • Code review checks for missing canonicalization and boundary verification after path resolution.
  • Tests using traversal sequences, absolute paths, encoded separators, and platform-specific path forms.
  • Runtime monitoring for unexpected writes outside the workspace data directory.
  • Policy enforcement that limits application write access to approved directories.

Automated code review and security scanning tools may help identify unsafe path construction patterns.

Sources

SourceLink
github.comgithub.com/siyuan-note/siyuan/security/advisories/GHSA-6h8x-6mph-7438
vulncheck.comvulncheck.com/advisories/siyuan-before-3.8.4-path-traversal-via-setnotebookicon

Frequently asked

questions

It may be exploitable through the application endpoint when it is reachable by an

attacker who has authenticated administrator access. Unauthenticated exploitation

is not indicated by the provided vulnerability details.

The attacker generally needs valid administrator credentials or equivalent access

to invoke the setNotebookIcon endpoint and control the notebook parameter.

Resolve supplied paths against a fixed workspace root, canonicalize them, and

reject any result that falls outside that root. Prefer opaque notebook identifiers

and controlled file mappings over user-provided path components.

Combine path-boundary validation with least-privilege filesystem permissions,

negative and positive security tests, code review rules for path construction,

and monitoring for writes outside approved application directories.

Find out what's already
exploitable in your codebase.