Junglewise Threat Intelligence

SiYuan publish-boundary bypass via WebSocket broadcast

Severity: high · CVSS 8.6 · Published 2026-08-14

Executive brief

SiYuan is a note-taking and knowledge management application that supports publishing content to readers over a public WebSocket interface. This vulnerability allows unauthenticated anonymous readers to passively receive a real-time stream of all document edits—including those marked as password-protected, publish-forbidden, or unpublished—by simply holding open a WebSocket connection. An attacker gains complete visibility into sensitive notebook names, document structures, and content without any authentication or permission checks.

Technical details

The vulnerability is a missing authorization (CWE-862) flaw in SiYuan's WebSocket broadcast implementation for publish mode. When a user establishes a WebSocket connection to the publish endpoint (port 6808) with the RoleReader token (used by anonymous readers when auth is disabled), the session is registered in the same broadcast session pool as authenticated users. The kernel's broadcast functions (Broadcast, broadcastOthers, etc.) push content events—including block DOM, document attributes, create/move/rename transactions—to every session in the pool without consulting the isPublish flag or applying any publish-access filtering. Because these events flow through the push channel rather than HTTP handlers, the publish-access and publish-password filters that gate HTTP endpoints are bypassed entirely. The attack requires no authentication and only network access to the publish WebSocket; an attacker simply holds a connection open and passively receives all edits made in the workspace in real time. Patched in version v3.7.4.

Affected products

  • SiYuan SiYuan < 3.7.4

Timeline

  • 2026-07-23: disclosed
  • 2026-08-14: advisory: Published as GHSA-mw8r-mw84-88v2; GHSA-q6g5-m978-c6v9 is a withdrawn duplicate
  • 2026-03-27: patched: Fixed in version v3.7.4

References

Related threats