CVE-2026-32747 json
SiYuan: Incomplete sensitive path blocklist in globalCopyFiles allows reading /proc and Docker secrets
published 2026-03-16 7 mo ago modified 2026-06-17 4 mo ago also GHSA-h5vh-m7fg-w5h6 , GO-2026-4705 , EUVD-2026-13211
- cvss
- 6.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 38%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- b3log siyuan 3.6.1
- govulncheck-vulndb openSUSE Leap 15.6 0.0.20260326T203309-150000.1.155.2
suse advisories SUSE-SU-2026:1135-1
- govulncheck-vulndb openSUSE Leap 16.0 0.0.20260723T184607-160000.1.1
opensuse advisories openSUSE-SU-2026:21483-1
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 7 mo ago
Exploit prediction
0.44% chance of exploitation in the next 30 days, higher than 38% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/siyuan-note/siyuan/security/advisories/GHSA-h5vh-m7fg-w5h6 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.8 | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N |
| NVD | 3.1 | 4.9 | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N |
| GitHub | 3.1 | 6.8 | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/siyuan-note/siyuan/kernel | <=0.0.0-20260313024916-fd6526133bb3 all versions |
no fix listed |
Affected products
- siyuan-note siyuan
Classification
References
-
github.com
/siyuan-note/siyuan/commit/9914fd1d39e5f0a8dcc9fb587e1c0b46f31490a1
web, patch
-
github.com
/siyuan-note/siyuan/security/advisories/GHSA-h5vh-m7fg-w5h6
exploit, web, vendor-advisory, advisory
-
github.com
/siyuan-note/siyuan/releases/tag/v3.6.1
web, release-notes
-
nvd.nist.gov
/vuln/detail/CVE-2026-32747
advisory
-
github.com
/siyuan-note/siyuan
package
Sources
- CVE List CVE-2026-32747
- GitHub Advisory GHSA-h5vh-m7fg-w5h6
- NVD CVE-2026-32747
- OSV GO-2026-4705
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.