CVE-2026-59854

SiYuan: Incomplete IsSensitivePath denylist: globalCopyFiles reads home-dir credential dotfiles into the workspace

Published Jul 9, 2026 CVSS 3.1 · 4.9 Medium EPSS < 1% KEV · Not listed
Description
SiYuan is an open-source personal knowledge management system. Prior to 3.7.1, POST /api/file/globalCopyFiles accepts attacker-supplied absolute source paths and relies on util.IsSensitivePath in kernel/util/path.go, whose denylist misses common home-directory credential files such as .git-credentials, .netrc, .pgpass, .kube/config, .docker/config.json, and .gnupg, allowing an authenticated administrator or API-token user to copy those files into the workspace and exfiltrate them through the file API. This issue is fixed in versions 3.7.1-alpha.2 and 3.7.1.

Analysis

AI-generated

Technical impact

POST /api/file/globalCopyFiles in SiYuan allows an authenticated administrator or API‑token user to supply absolute source paths and copy files into a workspace. The path‑sanitization routine util.IsSensitivePath lacks several common credential files on UNIX‑style home directories, such as .git‑credentials, .docker/config.json, and .gnupg. Consequently, an attacker who can obtain administrator privileges can copy these files into the workspace and subsequently exfiltrate them via the file API, exposing credentials that could compromise external services. The weakness is an example of incorrect authorization, identified by CWE‑693.

Affected Systems

The vulnerability affects the open‑source SiYuan personal knowledge management system provided by Siyuan Note. Versions prior to 3.7.1 are vulnerable; the issue was resolved in releases 3.7.1‑alpha.2 and 3.7.1 and later.

Risk and Exploitability

The CVSS score of 4.9 user with administrator or API‑token privileges, the attack vector is limited to trusted insiders or compromised accounts. The EPSS score of <1% indicates a very low probability of exploitation, and the vulnerability is not listed’s KEV catalog, suggesting a lower chance of widespread exploitation at this time. Nevertheless, possession of credential files poses a significant confidentiality risk and can lead to lateral movement and further compromise of linked services.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update SiYuan to version 3.7.1 or newer, where the path sanitization denylist has been corrected.
  • If an upgrade is delayed, limit the scope of API‑token permissions and remove administrator rights from accounts that do not require them.
  • Monitor the globalCopyFiles API for activity involving credential‑file patterns and set alerts to detect potential exfiltration attempts.

Generated by OpenCVE AI on August 1, 2026 at 13:36 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Siyuan
Siyuan siyuan
Vendors & Products Siyuan
Siyuan siyuan
Type Values Removed Values Added
Description SiYuan is an open-source personal knowledge management system. Prior to 3.7.1, POST /api/file/globalCopyFiles accepts attacker-supplied absolute source paths and relies on util.IsSensitivePath in kernel/util/path.go, whose denylist misses common home-directory credential files such as .git-credentials, .netrc, .pgpass, .kube/config, .docker/config.json, and .gnupg, allowing an authenticated administrator or API-token user to copy those files into the workspace and exfiltrate them through the file API. This issue is fixed in versions 3.7.1-alpha.2 and 3.7.1.
Title SiYuan: Incomplete IsSensitivePath denylist: globalCopyFiles reads home-dir credential dotfiles into the workspace
Weaknesses CWE-693
References
Metrics cvssV3_1

{'score': 4.9, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N'}

Weaknesses
  • CWE-693

    Protection Mechanism Failure

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Jul 10, 2026, 8:59 PM
Reserved
Jul 7, 2026, 3:41 PM
Status
Deferred
Published
Jul 9, 2026, 11:17 PM
Modified
Oct 25, 2026, 3:10 PM