Impact
The globalCopyFiles API in SiYuan versions 3.6.0 and earlier was designed to copy files into the workspace, but it resolved paths using filepath.Abs() without enforcing a workspace boundary. The API relied on util.IsSensitivePath() to filter out dangerous paths, but the blocklist omitted critical system paths such as /proc/, /run/secrets/, and dotfiles in the home directory. Attackers with administrative privileges within the application could copy sensitive system files, Docker secret files, or process environment variables into the workspace. These files could then be accessed through the normal file API, allowing the exfiltration of any data readable by the SiYuan process without requiring external network connections.
Affected Systems
The vulnerability affects the mainstream SiYuan note‑taking application, including product Siyuan by Siyuan Note, in all releases prior to version 3.6.1. Users running SiYuan 3.6.0 or older, especially in containerised environments where Docker secrets and environment variables are injected into the process, are at risk.
Risk and Exploitability
With a CVSS score of 6.8, the vulnerability poses a moderate to high threat, particularly in environments that expose the globalCopyFiles endpoint to privileged users. The EPSS score indicates that exploitation is relatively unlikely at this time, and the issue is not listed in the CISA KEV catalog. Attackers would need administrative access to Siyuan to invoke the vulnerable API. Once the vulnerable functionality is used, the attacker can read arbitrary files that the application can access, potentially extracting critical secrets used by the container.
OpenCVE Enrichment
Github GHSA