ZeroHour

CVE-2026-72793

moderate

SiYuan getConf API leaks session-cookie signing key and notebook key to anonymous readers

CVSS 4.0
9.2 critical
EPSS
<1%p15
Published
()
Modified
AI analysis

SiYuan's POST /api/system/getConf endpoint masks secrets via an explicit field-by-field blocklist that omits three values the project's own configuration-export path deliberately strips: the session-cookie signing key (cookieKey), the encrypted-notebook key material (notebookCrypto), and the Pandoc binary path, which embeds the OS username. The route is gated only by CheckAuth, so publish RoleReader tokens can call it, and on instances with Publish.Auth.Enable set to false it is reachable by completely anonymous HTTP requests. An attacker who reads cookieKey obtains the gorilla/securecookie HMAC key used to sign the 'siyuan' session cookie and can mint or modify session cookies the server accepts as authentic; privilege escalation to administrator succeeds whenever no AccessAuthCode is configured, which the analysis describes as a common deployment. All SiYuan deployments that expose the publish API anonymously or to reader tokens are affected (fixed version range not specified in the available data). There is no public PoC, no CISA KEV listing, and EPSS is 0.2%, so no exploitation is currently known.

What to do: Until a patched release is available, restrict access to /api/system/getConf by requiring administrator privileges and disabling anonymous publish access (set Publish.Auth.Enable to true), and check whether an AccessAuthCode is configured, since its absence makes forged-session admin escalation trivial. Because the session-cookie signing key (cookieKey) and notebookCrypto key may have been disclosed to anonymous readers, rotate both on exposed instances to invalidate any forged sessions.

Affected
b3log (SiYuan) SiYuan kernel web API (/api/system/getConf)
Estimated exposure
moderateRoughly 1,000-10,000 internet-exposed SiYuan instances (self-hosted open-source note-taking server; only deployments with anonymous publish access enabled are… — SiYuan is a widely used self-hosted knowledge-management app whose typical deployment is a single-user or small-team server, and only the subset of instances that expose the publish API anonymously (Publish.Auth.Enable=false) can be probed…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

SiYuan versions before v3.7.4 fail to mask sensitive configuration fields in the /api/system/getConf endpoint, allowing anonymous or publish-reader users to obtain the session-cookie signing key, OS username via pandoc path, and encrypted-notebook key material. Attackers can forge and tamper with session cookies to impersonate users, and on instances without access-auth codes configured, escalate to administrator privileges.

Ecosystems
go
Weakness
CWE-522
Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
GHSA
GHSA-h4v5-crx2-3cv4 (high)

In the news

No ingested article mentions this CVE yet.