Patch Forecast
Red warning
Act within 24 hours.

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

Story map: github.com/siyuan-note/siyuan/kernelTHE FLAWSTHE FIXCVE-2026-69085SiYuan: Unauthenticated SQLinjection in searchDocs viaunescaped keyword (publish…CVSS 10.0 · EPSS 1%CVE-2026-73054SiYuan: A parser differentialbetween the WebSocketkeepalive exemption and the…CVSS 7.5 · EPSS 1%GHSA-9cqf-hhrq-7v45SiYuan:getAttributeViewSearchTargetreturns database row content…CVSS 8.6GHSA-x8gv-g2g3-65fjSiYuan Agent Tools SSRF viaDNS-Rebinding TOCTOU (Bypassof CheckHostSSRF)CVSS 8.2Upgrade…3.7.3 · 3.7.4or later on your release lineWho is exposedgithub.com/siyuan-note/siyuan/kernel (go) <0.0.0-20260721043339-eef10568384eRED · ACT TODAYgithub.com/siyuan-note/siyuan/ke…SiYuan before v3.7.3 contains aSQL injection vulnerability in the/api/filetree/searchDocsendpoint, where thecaller-supplied keywordparameter is concatenateddirectly into SQL statements…Where it standsPublic proof of conceptCONNECTS TOSame weaknessSQL injection (CWE-89)399 other warnings in 30 days →
Story map: the flaws, the fix, how it unfolded and what it connects to. Boxes link to the record or article.

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

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

PackageEcosystemVulnerableFixed in
github.com/siyuan-note/siyuan/kernelgo< 0.0.0-20260721043339-eef10568384e0.0.0-20260721043339-eef10568384e

References

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.