CVE-2026-73054: SiYuan: A parser differential between the WebSocket keepalive exemption and the session quarantine allows unauthenticated access to the broadcast event stream
Two checks on the same WebSocket request URI parse it differently. The authentication exemption for keepalive sessions matches raw substrings, while the quarantine introduced to contain those sessions reads a parsed query parameter. Because Go’s url.Values.Get returns only the first value for a repeated key, a single URI can satisfy the exemption and still resolve to a non-auth session identity.
The result is that an unauthenticated remote caller connects to the kernel WebSocket with a valid access auth code configured, is placed in the general broadcast pool rather than the quarantined pool, and receives the live event stream.
References
- github.com/advisories/GHSA-c8w8-3pqp-wr83
- github.com/siyuan-note/siyuan/commit/67bc300b6ea6650d99dae55c827aeced419c8ac4
- github.com/siyuan-note/siyuan/releases/tag/v3.7.4-alpha.4
- github.com/siyuan-note/siyuan/security/advisories/GHSA-c8w8-3pqp-wr83
- nvd.nist.gov/vuln/detail/CVE-2026-73054
- www.vulncheck.com/advisories/siyuan-before-authentication-bypass-via-websocket
Code Behaviors & Features
Detect and mitigate CVE-2026-73054 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →