CVE-2026-32750
Received Received - Intake
Insecure File Import in SiYuan Allows Unauthorized Data Access

Publication date: 2026-03-19

Last updated on: 2026-03-23

Assigner: GitHub, Inc.

Description
SiYuan is a personal knowledge management system. In versions 3.6.0 and below, POST /api/import/importStdMd passes the localPath parameter directly to model.ImportFromLocalPath with zero path validation. The function recursively reads every file under the given path and permanently stores their content as SiYuan note documents in the workspace database, making them searchable and accessible to all workspace users. Data persists in the workspace database across restarts and is accessible to Publish Service Reader accounts. Combined with the renderSprig SQL injection ( separate advisory ), a non-admin user can then read all imported secrets without any additional privileges. This issue has been fixed in version 3.6.1.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-03-19
Last Modified
2026-03-23
Generated
2026-05-07
AI Q&A
2026-03-20
EPSS Evaluated
2026-05-05
NVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
b3log siyuan to 3.6.1 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-22 The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.
CWE-552 The product makes files or directories accessible to unauthorized actors, even though they should not be.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

The vulnerability exists in SiYuan personal knowledge management system versions 3.6.0 and below. It occurs because the POST /api/import/importStdMd endpoint accepts a localPath parameter without any validation. This parameter is passed directly to the function ImportFromLocalPath, which recursively reads every file under the specified path and stores their content permanently as SiYuan note documents in the workspace database.

As a result, all files under the given path become searchable and accessible to all workspace users, including Publish Service Reader accounts. This means sensitive data can be exposed. Additionally, when combined with a separate SQL injection vulnerability (renderSprig), a non-admin user can read all imported secrets without needing extra privileges. The issue was fixed in version 3.6.1.


How can this vulnerability impact me? :

This vulnerability can lead to unauthorized access to sensitive files on the system where SiYuan is running. Because the contents of files under the specified path are imported and stored in the workspace database, all workspace users, including those with limited privileges, can access potentially confidential information.

Furthermore, when combined with another SQL injection vulnerability, even non-admin users can read all imported secrets without additional privileges, increasing the risk of data leakage and compromise of sensitive information.


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

I don't know


How can this vulnerability be detected on my network or system? Can you suggest some commands?

I don't know


What immediate steps should I take to mitigate this vulnerability?

The vulnerability has been fixed in SiYuan version 3.6.1. The immediate step to mitigate this vulnerability is to upgrade SiYuan to version 3.6.1 or later.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart