CVE-2026-100638: SiYuan path traversal in setNotebookIcon

CVE-2026-100638 · Severity: high · CVSS 7.6 · Published 2026-09-26

SiYuan is a personal knowledge management application that stores notebooks and configuration data within a workspace directory. An authenticated administrator can exploit a path traversal vulnerability in the setNotebookIcon API endpoint to write files outside the workspace boundary, potentially to system directories, temporary folders, or other sensitive locations. This could enable arbitrary directory creation and configuration tampering on the server.

Technologies: SiYuan Note SiYuan. Vendors: SiYuan Note.

Quick answers

Is CVE-2026-100638 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-100638 being exploited in the wild.
How severe is CVE-2026-100638?
High severity, with a CVSS score of 7.6, published 26 September 2026.
Which products and versions are affected?
SiYuan Note SiYuan before v3.8.4.
Is there a fix for CVE-2026-100638?
A patch was published on 2026-09-26: v3.8.4 released with fix Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-100638 attacked?
It is attacked over the network.
Am I affected by CVE-2026-100638?
Check whether you run SiYuan Note SiYuan at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

The setNotebookIcon endpoint in kernel/api/notebook.go binds the notebook parameter directly to boxID without applying the util.InvalidIDPattern validation guard that all sibling handlers enforce. The unvalidated boxID is passed to model.SetBoxIcon, which constructs a Box struct with the traversal-laden ID and calls saveConf0. This function uses filepath.Join(util.DataDir, boxID, ".siyuan", "conf.json"), which cleans but does not reject directory traversal sequences, allowing ".." segments to escape the workspace data directory and write to arbitrary filesystem locations writable by the kernel process.

Affected products

  • siyuan-note SiYuan before v3.8.4

Timeline

  • 2026-09-26: disclosed
  • 2026-09-26: patched: v3.8.4 released with fix

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.