Skip to content
OpenAdvisories
High · 8.8 CVE-2026-85175 EUVD-2026-70410GHSA-4wwp-f6gw-6qm5GHSA-gg9w-4vv2-vjcmGO-2026-6663

SiYuan before v3.8.2 TLS Private Key Disclosure via getFile

Published Sep 3, 2026 · Updated Sep 3, 2026 · Assigned by VulnCheck

Description

SiYuan versions <= 3.8.1 (fixed in v3.8.2) contain an incomplete blocklist in the IsForbiddenAbsPath() function (kernel/util/path_guard.go), which only blocks conf/conf.json by exact match and does not restrict the TLS private key (conf/key.pem) or CA private key (conf/ca.key) stored in the same conf/ directory. Because the getFile handler skips the blocklist for RoleAdministrator and all authenticated users receive RoleAdministrator in v3.8.1, any user (or any client on a default no-auth-code instance) can retrieve these private keys via POST /api/file/getFile. On deployments with TLS enabled, this allows decryption of captured HTTPS traffic (key.pem) and forging of certificates trusted by clients that imported SiYuan's CA (ca.key).

Affected products

VendorProductAffectedFixed
siyuan-note siyuan < 3.8.2 3.8.2

Affected packages

EcosystemPackageAffectedFixedRecord
Go github.com/siyuan-note/siyuan/kernel < 0.0.0-20260819144130-256d73aa7f94 0.0.0-20260819144130-256d73aa7f94 GHSA-4wwp-f6gw-6qm5

References