CyberRota Analysis
AI-GeneratedSiYuan versions prior to 3.7.2 are vulnerable to a path traversal flaw in the serveExport handler, allowing authenticated attackers to exploit percent-encoded traversal sequences to access sensitive files outside the designated TempDir. This vulnerability can lead to unauthorized disclosure of critical system files, including SSH keys and application-specific databases. Organizations using SiYuan should prioritize patching to mitigate the risk of data exposure and potential system compromise.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD 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.