Skip to content
OpenAdvisories
Medium · 5.9 CVE-2026-54068 EUVD-2026-39124GHSA-gcm7-57gf-953cGO-2026-5958

SiYuan: Unauthenticated SQLite Data Exfiltration via Template Injection in /api/icon/getDynamicIcon

Published Jun 24, 2026 · Updated Jun 25, 2026 · Assigned by GitHub_M

Description

SiYuan is an open-source personal knowledge management system. Prior to 3.7.0, the /api/icon/getDynamicIcon endpoint is explicitly excluded from authentication in SiYuan's kernel router (router.go, "不需要鉴权" -- no auth needed). When called with type=8 and a valid block id parameter, this endpoint invokes RenderDynamicIconContentTemplate, which executes a Go template that includes the querySQL and queryBlocks functions. These functions run arbitrary SELECT statements against the SiYuan SQLite database. An unauthenticated network-adjacent attacker who knows a valid block ID can exfiltrate all user note content, tags, asset references, and block attributes from the database. This vulnerability is fixed in 3.7.0.

Affected products

VendorProductAffectedFixed
siyuan-note siyuan < 3.7.0 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
openSUSE Leap 16.0 govulncheck-vulndb 0.0.20260723T184607-160000.1.1 openSUSE-SU-2026:21483-1

Affected packages

EcosystemPackageAffectedFixedRecord
Go github.com/siyuan-note/siyuan/kernel < 0.0.0-20260628153353-2d5d72223df4 0.0.0-20260628153353-2d5d72223df4 GHSA-gcm7-57gf-953c

Advisories 1

References