# CVE-2026-100638: SiYuan path traversal in setNotebookIcon

Source: https://junglewise.ai/threats/cve-2026-100638-siyuan-versions-before-v3-8-4-contain-a-path-traversal  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-09-26. Updated: 2026-09-26  
License: CC BY 4.0 with a link back

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](https://junglewise.ai/threats/technologies/siyuan-note-siyuan). Vendors: [SiYuan Note](https://junglewise.ai/threats/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

- [https://github.com/siyuan-note/siyuan/security/advisories/GHSA-6h8x-6mph-7438](https://github.com/siyuan-note/siyuan/security/advisories/GHSA-6h8x-6mph-7438)
- [https://www.vulncheck.com/advisories/siyuan-before-3.8.4-path-traversal-via-setnotebookicon](https://www.vulncheck.com/advisories/siyuan-before-3.8.4-path-traversal-via-setnotebookicon)

## Related threats

- [SiYuan path-traversal bypass via Windows extended-length prefix](https://junglewise.ai/threats/cve-2026-116171-siyuan-3-5-4-before-3-8-7-on-windows-contains-a-sensitive-path)
- [SiYuan stored cross-site scripting in KaTeX math blocks](https://junglewise.ai/threats/cve-2026-116169-siyuan-from-2-10-0-before-3-8-7-contains-a-stored-cross-site)
- [SiYuan path traversal in MCP asset tool via incomplete blacklist](https://junglewise.ai/threats/cve-2026-116168-siyuan-before-3-8-7-contains-a-path-traversal-vulnerability-in)
- [SiYuan getAttributeViewSearchTarget insufficient access control](https://junglewise.ai/threats/go-2026-6632-siyuan-getattributeviewsearchtarget-returns-database-row-fd3e0f1a)
- [SiYuan Cross-Site WebSocket Hijacking in network proxy endpoint](https://junglewise.ai/threats/cve-2026-74802-siyuan-cross-site-websocket-hijacking-on-the-admin-only-network)
