PT-2026-71242 · Siyuan · Siyuan
CVSS v3.1
5.8
Medium
| Vector | AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N |
Name of the Vulnerable Software and Affected Versions
SiYuan versions prior to 3.7.4
Description
Authenticated readers or anonymous users (when publish authentication is disabled) can exploit missing publish-access filtering across multiple endpoints. The endpoint '/api/av/getAttributeViewKeysByID' allows the retrieval of complete database column schemas, including column titles, user-authored descriptions, select-option vocabularies, and Sprig template expressions. This occurs because the handler fails to apply the same filtering used by its sibling endpoint, enabling access to schemas of databases in hidden, password-protected, or non-published documents.
Additionally, two other endpoints act as information oracles by enumerating block IDs across the entire workspace regardless of publish boundaries:
- '/api/block/getBlockDefIDsByRefText' allows discovering block IDs based on a supplied
anchorstring. - '/api/block/getBlockRelevantIDs' allows traversing the structure of notebooks (including encrypted ones when unlocked) using the
idandnotebookvariables to find parent, previous, and next block IDs.
These ID oracles enable attackers to discover valid block identifiers, which can then be used to access content from restricted documents.
Recommendations
Update SiYuan to version 3.7.4 or later.
As a temporary mitigation, restrict access to the '/api/av/getAttributeViewKeysByID', '/api/block/getBlockDefIDsByRefText', and '/api/block/getBlockRelevantIDs' endpoints.
Fix
Missing Authorization
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Siyuan