CVE-2026-62204 · GHSA-rpx2-p6hp-x5gj
SiYuan: Missing consistency check between packageName and repoURL/repoHash in bazaar package install allows overwriting an existing, trusted plugin
- Risk score
- 50/100
- CVSS
- 6.6 v3.1
- Exploit chance (30 days)
- 0.1%
- Published
- 22 Aug 2026
Open in the live forecast Today's forecast
What to know
- What it is
- SiYuan versions before v3.7.4 fail to validate that packageName matches the downloaded package content in bazaar install endpoints. Attackers with same-origin access can overwrite existing trusted plugins by supplying mismatched packageName and repoURL parameters, achieving persistence across application restarts.
- Affected
- github.com/siyuan-note/siyuan/kernel (go) < 0.0.0-20260808010544-26ccb40d390e
- Fix
- Upgrade github.com/siyuan-note/siyuan/kernel to 0.0.0-20260808010544-26ccb40d390e 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-62204: SiYuan: Missing consistency check between packageName and repoURL/repoHash in bazaar package install allows overwriting an existing, trusted plugin (CVSS 6.6 · EPSS 0%)
- 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)
The fix
Upgrade github.com/siyuan-note/siyuan/kernel: 3.7.4 · 3.7.3 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: CWE-345 (CWE-345). 45 other warnings in 30 days
Why it is Yellow
- CVSS 6.6 medium
- Public exploit or proof of concept referenced
- On your watchlist: Go
Affected packages
| Package | Ecosystem | Vulnerable | Fixed in |
|---|---|---|---|
| github.com/siyuan-note/siyuan/kernel | go | < 0.0.0-20260808010544-26ccb40d390e | 0.0.0-20260808010544-26ccb40d390e |
References
- https://github.com/advisories/GHSA-rpx2-p6hp-x5gj
- https://github.com/siyuan-note/siyuan/security/advisories/GHSA-rpx2-p6hp-x5gj
- https://nvd.nist.gov/vuln/detail/CVE-2026-62204
- https://github.com/siyuan-note/siyuan/commit/26ccb40d390eb7d9b04673629a58ab1d69cc7e53
- https://github.com/siyuan-note/siyuan/releases/tag/v3.8.0
- https://www.vulncheck.com/advisories/siyuan-before-plugin-overwrite-via-bazaar-install
- https://github.com/advisories/GHSA-rpx2-p6hp-x5gj
Original description
SiYuan versions before v3.7.4 fail to validate that packageName matches the downloaded package content in bazaar install endpoints. Attackers with same-origin access can overwrite existing trusted plugins by supplying mismatched packageName and repoURL parameters, achieving persistence across application restarts.
Last activity 23 Oct 2026. Patch Forecast updates every hour.