CVE-2026-72795 is a confused-deputy vulnerability in SiYuan's block rendering API. The endpoints getBlockDOMWithEmbed and getBlockDOMsWithEmbed resolve embedded block references server-side without validating that the requesting user has authorization to view the referenced content. An attacker who can publish any block can embed a reference to a password-protected, hidden, or forbidden document—the server will resolve that embed and return the protected content as part of the published block's DOM, bypassing SiYuan's entire document-level access control model.
The root cause is a structural gap: SiYuan enforces authorization at the document-access boundary but not during content resolution within published blocks. The render pipeline operates with elevated privileges to assemble composite content, and it treats embed resolution as a presentation concern rather than an access control decision. This is the same authorization topology that produced CVE-2019-3396 in Confluence and similar vulnerabilities in Notion and MediaWiki—the rendering tier becomes a trusted proxy that inadvertently exercises read access on behalf of unauthorized requests.
What makes this significant despite the low EPSS (0.00241): the exploit requires specific authoring conditions (the ability to publish a block containing an embed), but for self-hosted instances storing sensitive research, legal documentation, or credentials in password-protected documents, this fundamentally changes the threat model. An internal attacker or anyone with publish permissions gains a read primitive against content protected by four separate controls (password, hidden status, forbidden access, workspace isolation)—all of which collapse through a single content resolution function.
Upgrade to v3.7.4 immediately. If immediate patching isn't feasible, audit who has publish permissions and consider disabling the embed feature at the workspace level until the fix is applied. The vulnerability lives in the intersection of SiYu's document-level authorization and content-level rendering—understanding that the block resolver, not the API boundary, is where authority actually gets exercised will help you reason about similar issues in the future.