CVE-2026-85175: SiYuan before v3.8.2 TLS Private Key Disclosure via getFile

Published Sep 3, 2026
·
Updated

SiYuan versions <= 3.8.1 (fixed in v3.8.2) contain an incomplete blocklist in the IsForbiddenAbsPath() function (kernel/util/pathguard.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 Software

1 affected component
SiYuan SiYuan<=3.8.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade SiYuan to a version that resolves this vulnerability.

    Fixed in v3.8.2
  2. Configuration

    Update the IsForbiddenAbsPath() function so the getFile handler correctly treats the TLS private key (conf/key.pem) and CA private key (conf/ca.key) as forbidden paths, not just conf/conf.json by exact match.

    SiYuan (kernel/util/path_guard.go) getFile blocklist IsForbiddenAbsPath() forbidden paths = Block conf/key.pem and conf/ca.key (in addition to conf/conf.json exact match)

Event History

Sep 3, 2026
CVE Published
via MITRE·11:22 AM
Data Sourced
via MITRE·11:22 AM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are exposed without requiring an attacker to obtain credentials?

Instances using the default no-auth-code configuration can be accessed by any client. In v3.8.1, authenticated users also receive RoleAdministrator, allowing them to bypass the path blocklist.

2

What must be enabled for the disclosed files to create TLS-specific impact?

TLS must be enabled for disclosure of conf/key.pem to permit decryption of captured HTTPS traffic. Disclosure of conf/ca.key enables certificate forgery only for clients that imported SiYuan's CA.

3

How can an administrator determine whether the instance is affected?

SiYuan versions 3.8.1 and earlier are affected; version 3.8.2 fixes the issue. The vulnerable file retrieval route is POST /api/file/getFile, and the exposed key paths are conf/key.pem and conf/ca.key.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203