Description (CNA)
SiYuan before v3.7.2 contains a path traversal vulnerability in the /export/temp/ short-circuit branch of the serveExport handler (kernel/server/serve.go). Unlike the main export branch, this branch joins the raw, percent-decoded request path with util.TempDir and serves the file without the IsSubPath or IsSensitivePath checks added in the earlier export-disclosure hardening (GHSA-6865-qjcf-286f). An authenticated attacker can send percent-encoded traversal sequences (e.g. /export/temp/%2e%2e/.../etc/passwd, where %2e%2e is decoded to '..') to read arbitrary files outside TempDir, including /etc/passwd, SSH keys (~/.ssh/*), and SiYuan workspace *.db and *.log files, bypassing the sensitive-file protection.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| siyuan-note / siyuan | affected 0 before 3.7.2; unaffected 3.7.2 |
CWE
CWE-22
References
- https://github.com/siyuan-note/siyuan/security/advisories/GHSA-gw25-m53r-qh88
- https://github.com/siyuan-note/siyuan/commit/bb481e1290c4a34255652ede85a546504505d2a7
- https://www.vulncheck.com/advisories/siyuan-before-path-traversal-via-export-temp
ADP enrichment
No English description supplied.
No references supplied.