Skip to main content
← All vulnerabilities
CVE-2026-85175GO-2026-6663GHSA-4WWP-F6GW-6QM5

SiYuan before v3.8.2 TLS Private Key Disclosure via getFile

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 3.8.2, 0.0.0-20260819144130-256d73aa7f94
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: total

Summary

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).

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • siyuan-note siyuan

    fixed in 3.8.2

  • github.com/siyuan-note/siyuan/kernelGo

    fixed in 0.0.0-20260819144130-256d73aa7f94

References 2

GitHub · siyuan-note/siyuan

vulncheck.com