SiYuan before v3.7.2 Path Traversal via /export/temp/
Description
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 products
1- Range: <v3.7.2
Patches
Vulnerability mechanics
References
3- github.com/siyuan-note/siyuan/commit/bb481e1290c4a34255652ede85a546504505d2a7mitrepatch
- github.com/siyuan-note/siyuan/security/advisories/GHSA-gw25-m53r-qh88mitrevendor-advisory
- www.vulncheck.com/advisories/siyuan-before-path-traversal-via-export-tempmitrethird-party-advisory
News mentions
0No linked articles in our index yet.