Description
SiYuan before v3.7.4 is missing authorization checks in 17 block metadata/content endpoints in kernel/api/block.go (including getRefText, checkBlockExist, and getBlockBreadcrumb). These handlers are gated only by basic authentication (model.CheckAuth) and lack publish-access filtering, allowing anonymous publish-mode readers to disclose private block content-derived text, structural metadata, and existence information for arbitrary block IDs across the workspace.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| siyuan-note | siyuan | < 3.7.4 | 3.7.4 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Go | github.com/siyuan-note/siyuan/kernel | < 0.0.0-20260804015139-bd067a4fe9b2 | 0.0.0-20260804015139-bd067a4fe9b2 | GHSA-4vpg-gwqq-w44c |
References
- GitHub Security Advisory (GHSA-4vpg-gwqq-w44c) vendor-advisory
- VulnCheck Advisory: SiYuan before v3.7.4 Missing Authorization via block API third-party-advisory