CVE-2026-30926
Received Received - Intake
Privilege Escalation in SiYuan Note Publish Service via API Abuse

Publication date: 2026-03-10

Last updated on: 2026-03-13

Assigner: GitHub, Inc.

Description
SiYuan is a personal knowledge management system. Prior to 3.5.10, a privilege escalation vulnerability exists in the publish service of SiYuan Note that allows low-privilege publish accounts (RoleReader) to modify notebook content via the /api/block/appendHeadingChildren API endpoint. The endpoint requires only the model.CheckAuth role, which accepts RoleReader sessions, but it does not enforce stricter checks, such as CheckAdminRole or CheckReadonly. This allows remote authenticated publish users with read-only privileges to append new blocks to existing documents, compromising the integrity of stored notes.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-03-10
Last Modified
2026-03-13
Generated
2026-05-07
AI Q&A
2026-03-10
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
b3log siyuan to 3.5.10 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-284 The product does not restrict or incorrectly restricts access to a resource from an unauthorized actor.
CWE-862 The product does not perform an authorization check when an actor attempts to access a resource or perform an action.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

[{'type': 'paragraph', 'content': "CVE-2026-30926 is a privilege escalation vulnerability in the SiYuan Note application, specifically affecting versions prior to 3.5.10. The issue exists in the publish service's API endpoint /api/block/appendHeadingChildren, which is intended to allow users to append heading blocks to notebook documents."}, {'type': 'paragraph', 'content': 'The vulnerability arises because this endpoint only requires a basic authentication check (model.CheckAuth) that accepts users with RoleReader (read-only) privileges, but it does not enforce stricter authorization checks such as requiring admin or readonly roles. As a result, low-privilege users with read-only access can modify notebook content by appending new blocks, which should not be allowed.'}, {'type': 'paragraph', 'content': 'This flaw allows remote authenticated publish users with read-only permissions to perform unauthorized write operations, compromising the integrity of stored notes.'}] [1]


How can this vulnerability impact me? :

This vulnerability allows any authenticated publish user with read-only privileges to modify notebook content, which violates data integrity.

  • Unauthorized modification of private notes.
  • Content tampering in published notebooks.
  • Loss of data integrity in stored documents.
  • Potential chaining with other API endpoints for further privilege escalation.

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?

[{'type': 'paragraph', 'content': 'This vulnerability can be detected by verifying if low-privilege publish users (RoleReader) are able to perform write operations on notebook content via the /api/block/appendHeadingChildren API endpoint.'}, {'type': 'paragraph', 'content': 'A practical detection method involves attempting to use the vulnerable endpoint with a RoleReader account to append content to an existing document and then checking if the modification is successful.'}, {'type': 'paragraph', 'content': 'Suggested commands to test this include:'}, {'type': 'list_item', 'content': 'Authenticate as a low-privilege publish user (RoleReader).'}, {'type': 'list_item', 'content': 'Query the database or API to retrieve an existing heading block ID.'}, {'type': 'list_item', 'content': 'Send a POST request to /api/block/appendHeadingChildren with a payload containing attacker-controlled content targeting the retrieved block ID.'}, {'type': 'list_item', 'content': 'Verify the document content to confirm if the unauthorized content was appended.'}, {'type': 'paragraph', 'content': 'Example curl command (replace placeholders accordingly):'}, {'type': 'list_item', 'content': 'curl -X POST https://[target]/api/block/appendHeadingChildren -H "Authorization: Bearer [RoleReader_token]" -H "Content-Type: application/json" -d \'{"id":"[heading_block_id]","childrenDOM":[{"type":"text","text":"malicious content"}]}\''}] [1]


What immediate steps should I take to mitigate this vulnerability?

The immediate mitigation step is to upgrade SiYuan Note to version 3.5.10 or later, where this vulnerability has been patched.

Until the upgrade can be applied, restrict access to the publish service API endpoint /api/block/appendHeadingChildren to trusted users only, or disable the publish service if possible.

Additionally, review and enforce stricter authorization checks on API endpoints, ensuring that only users with appropriate roles (e.g., CheckAdminRole) can perform write operations.


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