Description
SiYuan is a personal knowledge management system. In versions 3.6.0 and below, POST /api/import/importSY and POST /api/import/importZipMd write uploaded archives to a path derived from the multipart filename field without sanitization, allowing an admin to write files to arbitrary locations outside the temp directory - including system paths that enable RCE. This can lead to aata destruction by overwriting workspace or application files, and for Docker containers running as root (common default), this grants full container compromise. This issue has been fixed in version 3.6.1.
Problem types
CWE-73: External Control of File Name or Path
CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
Product status
References
github.com/...siyuan/security/advisories/GHSA-qvvf-q994-x79v
github.com/...ommit/5ee00907f0b0c4aca748ce21ef1977bb98178e14
github.com/siyuan-note/siyuan/releases/tag/v3.6.1