Home

Description

SiYuan is a personal knowledge management system. In versions 3.6.0 and below, the globalCopyFiles API eads source files using filepath.Abs() with no workspace boundary check, relying solely on util.IsSensitivePath() whose blocklist omits /proc/, /run/secrets/, and home directory dotfiles. An admin can copy /proc/1/environ or Docker secrets into the workspace and read them via the standard file API. An admin can exfiltrate any file readable by the SiYuan process that falls outside the incomplete blocklist. In containerized deployments this includes all injected secrets and environment variables - a common pattern for passing credentials to containers. The exfiltrated files are then accessible via the standard workspace file API and persist until manually deleted. This issue has been fixed in version 3.6.1.

PUBLISHED Reserved 2026-03-13 | Published 2026-03-19 | Updated 2026-03-20 | Assigner GitHub_M




MEDIUM: 6.8CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N

Problem types

CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

CWE-184: Incomplete List of Disallowed Inputs

Product status

< 3.6.1
affected

References

github.com/...siyuan/security/advisories/GHSA-h5vh-m7fg-w5h6 exploit

github.com/...siyuan/security/advisories/GHSA-h5vh-m7fg-w5h6

github.com/...ommit/9914fd1d39e5f0a8dcc9fb587e1c0b46f31490a1

github.com/siyuan-note/siyuan/releases/tag/v3.6.1

cve.org (CVE-2026-32747)

nvd.nist.gov (CVE-2026-32747)

Download JSON