# CVE-2026-85175: SiYuan incomplete blocklist in path guard allows TLS private key disclosure

Source: https://junglewise.ai/threats/cve-2026-85175-siyuan-incomplete-blocklist-in-path-guard-allows-tls-private-key  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-09-03. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2026-85175 · Severity: high · CVSS 8.8 · Published 2026-09-03

SiYuan is a note-taking and knowledge management application that supports encrypted HTTPS connections. Versions up to 3.8.1 have an incomplete security filter that fails to block access to TLS private keys stored on the server. An authenticated user (or any user on instances without authentication) can download these keys via the file retrieval API, enabling them to decrypt captured network traffic or forge trusted certificates.

Technologies: [github.com/siyuan-note/siyuan/kernel (Go)](https://junglewise.ai/threats/technologies/github-com-siyuan-note-siyuan-kernel), [SiYuan](https://junglewise.ai/threats/technologies/siyuan). Vendors: [Go](https://junglewise.ai/threats/vendors/go), [SiYuan](https://junglewise.ai/threats/vendors/siyuan).

## Quick answers

**Is CVE-2026-85175 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-85175 being exploited in the wild.

**How severe is CVE-2026-85175?** High severity, with a CVSS score of 8.8, published 3 September 2026.

**Which products and versions are affected?** github.com/siyuan-note/siyuan/kernel (Go) SEMVER:introduced=0,fixed=0.0.0-20260819144130-256d73aa7f94; SiYuan versions <= 3.8.1 (fixed in 3.8.2).

**Is there a fix for CVE-2026-85175?** Yes. github.com/siyuan-note/siyuan/kernel (Go): upgrade to 0.0.0-20260819144130-256d73aa7f94 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-85175 attacked?** It is attacked over the network, in a web application.

**Am I affected by CVE-2026-85175?** 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-20260819144130-256d73aa7f94 or later

  ```sh
  go get github.com/siyuan-note/siyuan/kernel@v0.0.0-20260819144130-256d73aa7f94
  ```


## Technical details

The vulnerability is an incomplete blocklist in the IsForbiddenAbsPath() function (kernel/util/path_guard.go) that only blocks conf/conf.json by exact match but fails to restrict conf/key.pem (TLS private key), conf/ca.key (CA private key), conf/cert.pem, and conf/ca.crt. The getFile handler (kernel/api/file.go:497) bypasses the blocklist for users with RoleAdministrator, and in v3.8.1 all authenticated API users are assigned this role. On default no-auth-code instances, this permits unauthenticated access. An attacker can retrieve these keys via POST /api/file/getFile, enabling decryption of HTTPS traffic (key.pem) or certificate forgery (ca.key). The fix is available in v3.8.2, which adds the missing files to the blocklist.

## Affected products

- SiYuan SiYuan versions <= 3.8.1 (fixed in 3.8.2)

## Identifiers

- CVE-2026-85175
- GHSA-4wwp-f6gw-6qm5
- GO-2026-6663

## Timeline

- 2026-09-03: disclosed
- 2026: patched: v3.8.2

## References

- [https://github.com/siyuan-note/siyuan/security/advisories/GHSA-4wwp-f6gw-6qm5](https://github.com/siyuan-note/siyuan/security/advisories/GHSA-4wwp-f6gw-6qm5)
- [https://www.vulncheck.com/advisories/siyuan-before-3.8.2-tls-private-key-disclosure-via-getfile](https://www.vulncheck.com/advisories/siyuan-before-3.8.2-tls-private-key-disclosure-via-getfile)

## Related threats

- [SiYuan path traversal in web fetch](https://junglewise.ai/threats/cve-2026-126776-siyuan-3-7-0-before-3-8-10-on-windows-contains-a-path-traversal)
- [SiYuan publish filter information disclosure in local storage](https://junglewise.ai/threats/go-2026-6836-siyuan-the-publish-filter-for-local-storage-returns-the-7f022e62)
- [SiYuan path traversal via GLOBALROOT alias bypass](https://junglewise.ai/threats/cve-2026-118680-siyuan-3-8-7-through-3-8-8-fails-to-normalize-windows-globalroot)
- [SiYuan SQL injection in history search](https://junglewise.ai/threats/cve-2026-116170-siyuan-before-v3-8-7-contains-an-sql-injection-vulnerability)
- [SiYuan cross-site scripting in /check-auth redirect](https://junglewise.ai/threats/cve-2026-116167-siyuan-from-2-9-0-before-3-8-7-contains-a-cross-site-scripting)
