CVE-2026-69085 · GHSA-33jq-p8c2-q3q4
SiYuan: Unauthenticated SQL injection in searchDocs via unescaped keyword (publish mode): cross-notebook read/write with statement stacking
- Risk score
- 90/100
- CVSS
- 10.0 v3.1
- Exploit chance (30 days)
- 1.5%
- Published
- 3 Aug 2026
Open in the live forecast Today's forecast
What to know
- What it is
- SiYuan before v3.7.3 contains a SQL injection vulnerability in the /api/filetree/searchDocs endpoint, where the caller-supplied keyword parameter is concatenated directly into SQL statements with no escaping or parameter binding. The endpoint is reachable by a publish RoleReader token, or unauthenticated when publish …
- Affected
- github.com/siyuan-note/siyuan/kernel (go) < 0.0.0-20260721043339-eef10568384e
- Fix
- Upgrade github.com/siyuan-note/siyuan/kernel to 0.0.0-20260721043339-eef10568384e or later.
- Exploitation
- Public proof of concept
Story map
At a glance
github.com/siyuan-note/siyuan/kernel: Red, act today. SiYuan before v3.7.3 contains a SQL injection vulnerability in the /api/filetree/searchDocs endpoint, where the caller-supplied keyword parameter is concatenated directly into SQL statements with no escaping or parameter binding. The endpoint is reachable by a publish RoleReader token, or unauthenticated when publish …
The flaws
- CVE-2026-69085: SiYuan: Unauthenticated SQL injection in searchDocs via unescaped keyword (publish mode): cross-notebook read/write with statement stacking (CVSS 10.0 · EPSS 1%)
- CVE-2026-73054: SiYuan: A parser differential between the WebSocket keepalive exemption and the session quarantine allows unauthenticated access to the broadcast event stream (CVSS 7.5 · EPSS 1%)
- GHSA-9cqf-hhrq-7v45: SiYuan: getAttributeViewSearchTarget returns database row content to anonymous readers with no publish-access check, reopening the class closed one day earlier at the adjacent route (CVSS 8.6)
- GHSA-x8gv-g2g3-65fj: SiYuan Agent Tools SSRF via DNS-Rebinding TOCTOU (Bypass of CheckHostSSRF) (CVSS 8.2)
The fix
Upgrade github.com/siyuan-note/siyuan/kernel: 3.7.3 · 3.7.4 or later on your release line
Who is exposed: github.com/siyuan-note/siyuan/kernel (go) < 0.0.0-20260721043339-eef10568384e
Where it stands
- Public proof of concept
Connects to
- Same weakness: SQL injection (CWE-89). 399 other warnings in 30 days
Why it is Red
- CVSS 10.0 critical
- Public exploit or proof of concept referenced
- Remotely exploitable without logging in
- On your watchlist: Go
Affected packages
| Package | Ecosystem | Vulnerable | Fixed in |
|---|---|---|---|
| github.com/siyuan-note/siyuan/kernel | go | < 0.0.0-20260721043339-eef10568384e | 0.0.0-20260721043339-eef10568384e |
References
- https://github.com/advisories/GHSA-33jq-p8c2-q3q4
- https://github.com/siyuan-note/siyuan/security/advisories/GHSA-33jq-p8c2-q3q4
- https://nvd.nist.gov/vuln/detail/CVE-2026-69085
- https://github.com/siyuan-note/siyuan/releases/tag/v3.7.3
- https://www.vulncheck.com/advisories/siyuan-before-sql-injection-via-searchdocs
- https://github.com/advisories/GHSA-33jq-p8c2-q3q4
Original description
SiYuan before v3.7.3 contains a SQL injection vulnerability in the /api/filetree/searchDocs endpoint, where the caller-supplied keyword parameter is concatenated directly into SQL statements with no escaping or parameter binding. The endpoint is reachable by a publish RoleReader token, or unauthenticated when publish mode is enabled with Publish.Auth.Enable set to false. Because the statement executes on a read-write SQLite handle via a driver that supports stacked (semicolon-separated) statements, an attacker can read and modify database content across all cleartext (non-encrypted) notebooks on the instance.
Last activity 1 Oct 2026. Patch Forecast updates every hour.