CVE-2026-72809
largeLocalhost-trust authentication bypass in SiYuan kernel (CVE-2026-72809)
SiYuan's kernel authentication function (CheckAuth) grants the administrator role to any request whose source address is 127.0.0.1 for a specific set of endpoints (/api/system/exit, getNetwork, getWorkspaceInfo, /assets/*, and /export/*), and these localhost bypasses sit outside the accessAuthCode gate, so they apply even when an access auth code is configured. Any local process on the machine running SiYuan can therefore invoke these endpoints with admin privileges without knowing the access code (CWE-290 authentication bypass by spoofing). Additionally, the fixed-port reverse proxy forwards requests to the kernel over loopback without injecting any authentication token, and gin trusted proxies are not configured, so by code inspection a remote request forwarded through that proxy would reach the kernel appearing as 127.0.0.1 and receive the same admin bypass; this remote path is conditional on the proxy being bound to a network interface (via NetworkServe) and was not reproduced end-to-end. Every installation running the vulnerable code is affected by the local bypass, while remote exposure additionally requires the fixed-port proxy to be network-exposed, and the maintainer has been asked to confirm the proxy's runtime forwarding behavior. No public proof-of-concept, CISA KEV listing, or in-the-wild exploitation is known; EPSS is low at 0.2 percent (11th percentile).
What to do: No fixed version is identified in the available data, so monitor the SiYuan project for a patched release and upgrade as soon as one is published; in the meantime, avoid binding the fixed-port proxy to untrusted network interfaces (do not expose NetworkServe to untrusted networks) and restrict remote access to the affected endpoints (/api/system/exit, getNetwork, getWorkspaceInfo, /assets/*, /export/*). Treat the localhost bypass as meaning any untrusted local process can call these endpoints without the access auth code, and verify with the maintainer whether configuring gin trusted proxies or having the proxy inject a token closes the remote path.
| B3log (SiYuan project) SiYuan (kernel authentication in session.go and fixed-port reverse proxy in fixedport.go) | — |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
SiYuan versions <= v3.7.2 (patched in v3.7.4) contain an authentication bypass vulnerability in the kernel's CheckAuth function, which grants the administrator role (RoleAdministrator) to any request whose RemoteAddr is loopback (127.0.0.1) for a specific set of endpoints (including /api/system/exit, getNetwork, getWorkspaceInfo, /assets/*, and /export/*). These localhost bypasses sit outside the access auth code gate, so they apply even when an access auth code is configured. Because the fixed-port reverse proxy forwards requests to the kernel over loopback without injecting an authentication token and does not configure trusted proxies, a request forwarded through this proxy reaches the kernel with RemoteAddr = 127.0.0.1. If the fixed-port proxy is bound to a network interface, this could allow a remote unauthenticated attacker to obtain admin access on the affected endpoints; however, per the advisory this remote forwarding behavior was established only by code inspection and was not reproduced end-to-end.
- Ecosystems
- go
- Weakness
- CWE-290
- Vector
- CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:H/SC:N/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-3mp7-4rh5-jrv9 (high)
In the news0 stories
No ingested article mentions this CVE yet.