Summary
CVE-2026-74799 is a critical information disclosure vulnerability in SiYuan Note, a self-hosted personal knowledge management application. When SiYuan’s kernel is started with the --mode flag set to any value other than prod, its serveDebug() function registers Go’s built-in net/http/pprof debugging endpoints without any authentication. A remote, unauthenticated attacker can query these endpoints over the network to dump process memory, potentially recovering sensitive secrets such as the workspace access authorization code and configured AI provider API keys. The flaw affects all SiYuan versions before 3.7.4 and carries a CVSS score of 9.2–9.3 (Critical).
Technical details
- Root cause: The SiYuan kernel’s debug-server initialization registers Go
net/http/pprofhandlers (e.g.,/debug/pprof/heap,/debug/pprof/goroutine) without any authentication middleware. - Trigger conditions: The endpoints are exposed whenever the kernel is launched with
--modenot explicitly set toprod(e.g., left at a default/dev mode), which can occur in real-world deployments that do not set this flag. - Attack vector: Network-based, requires no authentication and no user interaction (AV:N/AC:L/PR:N/UI:N).
- Impact: An attacker can retrieve heap and goroutine memory dumps, exposing in-memory secrets including the SiYuan access authorization code and AI provider API keys, enabling full account/workspace takeover or downstream API abuse.
Affected software
- SiYuan (siyuan-note/siyuan), Go kernel package
github.com/siyuan-note/siyuan/kernel - All versions 3.7.3 and earlier, when run without
--mode=prod - Fixed in version 3.7.4
Severity
- CVSS v3.1 Base Score: 9.3 (Critical)
- CVSS v3.1 Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:L
Mitigation and recommended actions
- Immediate: Upgrade SiYuan to version 3.7.4 or later, which removes/secures the unauthenticated pprof debug endpoints.
- If immediate patching is not possible: Ensure the kernel is always started with
--mode=prodin any deployment reachable from a network; do not expose the SiYuan kernel port directly to the internet; place it behind a reverse proxy or firewall that blocks access to/debug/pprof/*paths; rotate the workspace access authorization code and any AI provider API keys configured in the application after remediation, as they may have been exposed.

