GHSA-vw86-c94w-v3x4
High · 8.5SiYuan: Publish Reader Path Traversal Delete via `removeUnusedAttributeView`
CVSS
8.5
EPSS
—
Published
Apr 10, 2026
CISA due date
—
The record
SiYuan's publish/read-only boundary can be broken through `/api/av/removeUnusedAttributeView`. A publish-service Reader context can call this endpoint because it is protected only by `CheckAuth`, and publish requests are forwarded upstream with a valid `RoleReader` JWT. The handler accepts attacker-controlled `id` input and passes it directly into a filesystem delete sink: - no admin check - no readonly check - no node-ID validation - no subpath enforcement - no verification that the target AV is actually unused Because the sink builds the file path with: ```go filepath.Join(util.DataDir, "storage", "av", id+".json") ``` an attacker can supply `../` path traversal sequences and delete arbitrary `.json` files reachable from the workspace, rather than only `data/storage/av/<id>.json`. This is a real write/destructive authorization bug, not a `visible=false` listing issue.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|
Related vulnerabilities
- CVE-2026-40318 SiYuan is an open-source personal knowledge management system. Same vulnerability
- CVE-2026-14947 A high-privileged remote attacker can upload malicious ZIP archive containing directory… CWE-24
- CVE-2026-76353 In Splunk Enterprise versions below 10.4.2, 10.2.6, 10.0.9, and 9.4.14, a user who does… CWE-24
- CVE-2026-73573 In Zimbra Collaboration (ZCS) before 10.1.17, a path traversal vulnerability exists in… CWE-24
- CVE-2026-66140 Exim before 4.99.5 allows directory traversal to access files outside of the spool area… CWE-24
- CVE-2026-44942 A path traversal in handling the "path" component of .repo files processed by libzypp… CWE-24
- CVE-2026-49103 Webmin before 2.640 does not safely construct a filename for saving of an attachment… CWE-24
- CVE-2026-48047 XWiki Platform vulnerable to potential arbitrary file writing using path traversal from… CWE-24