Quick answers
- Is CVE-2026-69084 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-69084 being exploited in the wild.
- How severe is CVE-2026-69084?
- Critical severity, with a CVSS score of 10, published 3 September 2026.
- Which products and versions are affected?
- github.com/siyuan-note/siyuan/kernel (Go) < 0.0.0-20260721002947-23a17d44b5f3, SEMVER:introduced=0,fixed=0.0.0-20260721002947-23a17d44b5f3; SiYuan < 0.0.0-20260721002947-23a17d44b5f3.
- Is there a fix for CVE-2026-69084?
- Yes. github.com/siyuan-note/siyuan/kernel (Go): upgrade to 0.0.0-20260721002947-23a17d44b5f3 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2026-69084 attacked?
- It is attacked over the network, in a web application.
- Am I affected by CVE-2026-69084?
- Check whether you run github.com/siyuan-note/siyuan/kernel (Go) or SiYuan at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- github.com/siyuan-note/siyuan/kernel (Go): upgrade to 0.0.0-20260721002947-23a17d44b5f3 or later
go get github.com/siyuan-note/siyuan/kernel@v0.0.0-20260721002947-23a17d44b5f3
Technical details
The vulnerability is a missing authorization and input validation flaw in the `/api/search/searchEmbedBlock` endpoint (kernel/api/search.go). The endpoint accepts a `stmt` parameter containing raw SQL and passes it verbatim to `model.SearchEmbedBlock()` without any validation, then to `sql.SelectBlocksRawStmtNoParse()`, which executes it via the global `siyuan.db` handle in database.go. The endpoint is gated by `CheckAuth` only, which permits `RoleReader` tokens and anonymous access when `Publish.Auth.Enable` is false. The statement executes on a read-write database handle using the vendored `88250/go-sqlite3` driver, which supports stacked statements (`;`-separated), allowing arbitrary side effects including writes and ATTACH operations. Comparable endpoints (`/api/query/sql`, `fullTextSearchBlock`) enforce `CheckSingleStatement`, `CheckReadonlyStatement`, and `CheckAdminRole` checks—all absent here. A post-hoc filter (`FilterEmbedBlocksByPublishAccess`) runs after execution and cannot prevent write side effects. The attack requires network access to port 6808 (publish mode) with auth disabled or a valid reader token; no CSRF token or special user interaction is required. Encrypted per-notebook databases are not affected; code execution is not reachable in default builds lacking `load_extension`.
Affected products
- SiYuan SiYuan kernel < 0.0.0-20260721002947-23a17d44b5f3
Identifiers
- CVE-2026-69084
- GHSA-vh22-h7hf-www7
- GO-2026-6377
Timeline
- 2026-09-03: disclosed: GitHub Security Advisory GHSA-vh22-h7hf-www7 published
- 2026-07-21: patched: Patched version 0.0.0-20260721002947-23a17d44b5f3 released
- 2026-09-03: other: Reviewed and confirmed by GitHub Security Advisory team