Quick answers
- Is CVE-2026-69086 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-69086 being exploited in the wild.
- How severe is CVE-2026-69086?
- High severity, with a CVSS score of 7.7, published 3 September 2026.
- Which products and versions are affected?
- github.com/siyuan-note/siyuan/kernel (Go) < 0.0.0-20260720151813-0f5a0e7c67b0, SEMVER:introduced=0,fixed=0.0.0-20260720151813-0f5a0e7c67b0; SiYuan before 0.0.0-20260720151813-0f5a0e7c67b0.
- Is there a fix for CVE-2026-69086?
- Yes. github.com/siyuan-note/siyuan/kernel (Go): upgrade to 0.0.0-20260720151813-0f5a0e7c67b0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2026-69086 attacked?
- It is attacked over the network, in a software library.
- Am I affected by CVE-2026-69086?
- 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-20260720151813-0f5a0e7c67b0 or later
go get github.com/siyuan-note/siyuan/kernel@v0.0.0-20260720151813-0f5a0e7c67b0
Technical details
The vulnerability exists in four POST endpoints (`/api/av/renderAttributeView`, `/api/av/getAttributeViewKeysByID`, `/api/av/getAttributeViewKeys`, `/api/av/getCurrentAttrViewImages`) that construct file paths using the `filepath.Join` function with a user-controlled `id` or `avID` parameter. The application's only identifier validation—`ast.IsNodeIDPattern(avID)`—is conditionally placed on a create-branch code path and is skipped when reading existing files. Because `filepath.Join` cleans but does not reject `..` path segments, an attacker can craft an identifier like `../../other/notebook/config` to read files outside `DataDir/storage/av/`. All endpoints require only `CheckAuth` (satisfied by a `RoleReader` publish token or bypassed entirely when `Publish.Auth.Enable` is false), and the breach is limited to `.json` files due to the forced `.json` suffix, but enables reliable disclosure of attribute-view schema data and existence oracles for workspace paths.
Affected products
- SiYuan SiYuan before 0.0.0-20260720151813-0f5a0e7c67b0
Identifiers
- CVE-2026-69086
- GHSA-7hm9-v7vf-7g4w
- GO-2026-6373
Timeline
- 2026-09-03: disclosed: Vulnerability published via GitHub Advisory Database
- 2026-07-20: patched: Patch version 0.0.0-20260720151813-0f5a0e7c67b0 released