SiYuan Vulnerability: Reader Role Can Wipe Attribute Views
The National Vulnerability Database has detailed CVE-2026-40259, a high-severity vulnerability (CVSS 8.1) in SiYuan, an open-source personal knowledge management system. This isn’t just a minor bug; it’s a critical flaw that allows a low-privileged authenticated user to cause significant data integrity issues and operational disruption.
Specifically, the /api/av/removeUnusedAttributeView endpoint in SiYuan versions 3.6.3 and below is inadequately protected. The National Vulnerability Database notes that it accepts generic authentication tokens, including those from a ‘publish-service RoleReader’. This RoleReader is typically intended for read-only access, yet it gains the ability to execute destructive actions.
The core of the problem lies in insufficient authorization checks. The handler directly passes a caller-controlled id to a model function. This function then unconditionally deletes the corresponding attribute view file from the workspace. Crucially, it does so without verifying if the caller possesses write privileges or if the target attribute view is truly ‘unused’. This is a classic authorization bypass, where a read-only role can perform write/delete operations.
From an attacker’s perspective, this is gold. An authenticated publish-service reader can systematically extract data-av-id values from publicly exposed content. With these IDs, they can then trigger the /removeUnusedAttributeView endpoint to permanently delete arbitrary attribute view definitions. The impact is immediate and severe: database views will break, and workspace rendering will fail until these views are manually restored. This isn’t just data loss; it’s a denial-of-service on the application’s functionality, requiring manual intervention to fix. The attacker’s calculus is simple: gain a foothold with minimal privileges, then cause maximum disruption.
For defenders, this highlights a critical blind spot in many applications: the assumption that ‘read-only’ roles are inherently safe. This vulnerability demonstrates that even seemingly innocuous endpoints can be weaponized if authorization logic is flawed. CISOs must push for stringent authorization checks at every API endpoint, especially those that involve deletion or modification of data. Trusting generic authentication to enforce granular permissions is a recipe for disaster. The fix in version 3.6.4 is a clear indicator that this was a fundamental design flaw, not an edge case.
What This Means For You
- If your organization uses SiYuan, you are exposed to a high-severity vulnerability (CVE-2026-40259) where a low-privileged reader can delete critical database views, causing significant disruption. **Immediately patch to SiYuan version 3.6.4 or above.** Audit your SiYuan environments for any unauthorized deletions of attribute view definitions, particularly if you have exposed instances or less-privileged accounts.
Related ATT&CK Techniques
🛡️ Detection Rules
3 rules · 6 SIEM formats3 detection rules auto-generated for this incident, mapped to MITRE ATT&CK. Sigma YAML is free — export to any SIEM format via the Intel Bot.
CVE-2026-40259: SiYuan RoleReader Unauthorized Attribute View Deletion
Indicators of Compromise
| ID | Type | Indicator |
|---|---|---|
| CVE-2026-40259 | Auth Bypass | SiYuan versions 3.6.3 and below |
| CVE-2026-40259 | Auth Bypass | Vulnerable endpoint: /api/av/removeUnusedAttributeView |
| CVE-2026-40259 | Auth Bypass | Authentication bypass using publish-service RoleReader tokens |
| CVE-2026-40259 | Information Disclosure | Extraction of data-av-id values from published content |
| CVE-2026-40259 | Misconfiguration | Lack of write privilege verification for attribute view deletion |
Source & Attribution
| Source Platform | NVD |
| Channel | National Vulnerability Database |
| Published | April 17, 2026 at 02:16 UTC |
This content was AI-rewritten and enriched by Shimi's Cyber World based on the original source. All intellectual property rights remain with the original author.
Believe this infringes your rights? Submit a takedown request.