Skip to main content

SiYuan CVE-2026-85175

| EUVDEUVD-2026-70410 HIGH
Files or Directories Accessible to External Parties (CWE-552)
2026-09-03 VulnCheck GHSA-gg9w-4vv2-vjcm
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach SiYuan API over network
  2. Delivery
    Authenticate or exploit no-auth default
  3. Exploit
    POST /api/file/getFile with conf/key.pem path
  4. Execution
    RoleAdministrator assignment bypasses blocklist
  5. Persist
    Retrieve TLS private key and CA private key
  6. Impact
    Decrypt HTTPS sessions or forge trusted certificates

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling File access restriction
MITRE ATT&CK

2 techniques across 1 tactic: Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Network access to the SiYuan HTTP/HTTPS API port is required. On default no-auth-code instances (the out-of-the-box configuration), no credentials are required - any network-reachable client can make the POST /api/file/getFile request. On instances where an access code has been configured, any user who can authenticate is affected, because v3.8.1 assigns RoleAdministrator to every authenticated session, which causes the getFile handler to skip the blocklist entirely. The full cryptographic impact (HTTPS traffic decryption and CA-signed certificate forgery) requires TLS to be enabled on the SiYuan instance (conf/key.pem and conf/ca.key must exist). Instances running on localhost only, without TLS, or isolated from untrusted networks are at significantly reduced risk from the key-material compromise angle, though the file disclosure defect is present in all <=3.8.1 deployments.

Impact

The vendor-assigned CVSS 4.0 score of 8.7 (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H) is largely defensible, with one notable concern: the VA:H (high availability impact on the vulnerable system) component is not directly supported by the description, which identifies no mechanism for service disruption - key compromise forces operational key rotation and certificate revocation, but that is an administrative consequence rather than an availability impact caused by the exploit itself. VC:H and VI:H are well-grounded: exfiltrating the TLS private key enables decryption of captured HTTPS traffic (confidentiality), and exfiltrating the CA key enables signing of fraudulent trusted certificates (integrity). Real-world risk is highest for network-exposed, TLS-enabled SiYuan instances, particularly shared or team deployments. Default no-auth-code configurations effectively remove even the PR:L barrier, making exploitation trivially easy for any network-adjacent attacker - closer to PR:N than the vector implies. EPSS data was not provided; the vulnerability is not listed in CISA KEV; no public proof-of-concept code has been identified. Self-hosted, localhost-only, or non-TLS deployments face reduced cryptographic risk but remain vulnerable to file disclosure.

Exploit ScenarioDerived

An attacker connected to the network hosting a SiYuan v3.8.1 instance - with either a valid session or no credentials on a default no-auth-code deployment - sends a single POST request to /api/file/getFile specifying the path conf/key.pem; the incomplete blocklist passes the request, and because the handler treats the caller as RoleAdministrator it returns the raw TLS private key. The attacker repeats the request for conf/ca.key, then uses the recovered private key to decrypt previously captured TLS-encrypted sessions between SiYuan and its users, and uses ca.key to sign malicious certificates that client browsers already trust.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 03, 2026

TLS private key disclosure in SiYuan <=3.8.1 allows any authenticated user - or any network client on default no-auth-code deployments - to exfiltrate the server's TLS private key (conf/key.pem) and CA private key (conf/ca.key) via a simple POST to /api/file/getFile. The root cause is a dual flaw: the IsForbiddenAbsPath() blocklist covers only conf/conf.json by exact match while leaving sibling key material unprotected, and the getFile handler unconditionally skips the blocklist for RoleAdministrator - a role granted to every authenticated user in v3.8.1. On TLS-enabled, network-exposed instances this enables retrospective decryption of captured HTTPS sessions and forgery of certificates already trusted by clients that imported SiYuan's CA. No public exploit identified at time of analysis; vendor-confirmed fix is available in v3.8.2.

RemediationAI

The primary fix is upgrading to SiYuan v3.8.2, which corrects the incomplete blocklist in IsForbiddenAbsPath() to include conf/key.pem and conf/ca.key, per GitHub Security Advisory GHSA-4wwp-f6gw-6qm5 (https://github.com/siyuan-note/siyuan/security/advisories/GHSA-4wwp-f6gw-6qm5). If immediate upgrade is not feasible, restrict network access to the SiYuan API server using firewall rules or a reverse proxy, blocking or rate-limiting POST /api/file/getFile from untrusted sources - note this does not fix the underlying flaw and trusted users can still exploit it. Additionally, for any network-exposed instance that may have been targeted prior to patching, treat the TLS key pair and CA key as compromised: regenerate both, re-issue server certificates, and instruct all users who imported SiYuan's CA certificate to remove and replace it with the newly generated one. For default no-auth-code deployments, configure an access code immediately to add an authentication barrier while awaiting the upgrade. The VulnCheck advisory is also available at https://www.vulncheck.com/advisories/siyuan-before-3.8.2-tls-private-key-disclosure-via-getfile.

Affected VersionsENISA

SiYuan 0 <3.8.2

Affected Packages

go github.com/siyuan-note/siyuan/kernel fix: 0.0.0-20260819144130-256d73aa7f94
euvd siyuan fix: 3.8.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

SiYuan is a self-hosted, open-source personal knowledge management application whose backend kernel exposes an HTTP API. The vulnerable component is kernel/util/path_guard.go, which implements IsForbiddenAbsPath() - a string-exact-match blocklist that gates the POST /api/file/getFile endpoint. CWE-552 (Files or Directories Accessible to External Parties) precisely identifies the root cause: sensitive files co-located with the blocked file in the conf/ directory (specifically conf/key.pem, the server TLS private key, and conf/ca.key, the internal CA private key) are simply absent from the blocklist. A compounding design defect makes this worse: the getFile handler checks the blocklist only for non-administrator roles, but v3.8.1 assigns RoleAdministrator to every authenticated user, causing the blocklist to be bypassed entirely for all authenticated requests. On instances where no auth code is configured (the default), authentication is not required at all, making the effective privilege level PR:N. Affected CPE: cpe:2.3:a:siyuan-note:siyuan:*:*:*:*:*:*:*:* for all versions through 3.8.1.

Know when Siyuan gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 8.1 HIGH

Network-accessible POST endpoint; low privilege (any authenticated user, effectively none on default no-auth instances); C:H for key disclosure, I:H for CA forgery; A:N as no availability impact mechanism is described.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Sep 03, 2026 - 13:01 EUVD
CVE Published
Sep 03, 2026 - 11:22 cve.org
HIGH 8.7

DescriptionCVE.org

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

Technical POC Analysis

This is an incomplete-access-control bug in the file-serving path (CWE-552).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

SiYuan note-taking application versions 3.8.1 and earlier expose the server's TLS private keys through an access-control vulnerability that bypasses authentication protections on default configurations and affects all authenticated users. This enables attackers to decrypt all historical HTTPS traffic and forge server certificates, resulting in complete loss of confidentiality for encrypted communications since deployment. Organizations running TLS-enabled SiYuan instances face exposure of sensitive data transmitted across all prior encrypted sessions.

Business Impact: Severe
Compensating Controls

Apply vendor patch: SiYuan v3.8.2.

Threat Intelligence Overview

EPSS Score
0.2%
Top 92% exploitable
Prevalence
Low
niche self-hosted personal knowledge management app, limited enterprise footprint
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Siyuan

View all
CVE-2026-69083 CRITICAL POC
9.9 Aug 03

SQL injection in SiYuan's fullTextSearchAssetContent endpoint lets unauthenticated attackers and holders of publish Role

CVE-2026-54067 CRITICAL POC
9.9 Jun 24

Stored cross-site scripting in SiYuan personal knowledge management before 3.7.0 lets an attacker with write access to a

CVE-2026-69084 CRITICAL POC
9.9 Aug 03

SQL injection in SiYuan personal knowledge management (versions <= v3.7.2) lets attackers pass arbitrary SQL statements

CVE-2026-54158 CRITICAL POC
9.9 Jun 24

Stored cross-site scripting in SiYuan's attribute-view (database) cell renderer, affecting all versions prior to 3.7.0,

CVE-2026-69085 CRITICAL POC
9.9 Aug 03

SQL injection in SiYuan personal knowledge-management software (all versions before v3.7.3) lets attackers inject arbitr

CVE-2024-53507 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability was discovered in Siyuan 3.1.11 in /getHistoryItems. Rated critical severity (CVSS 9.8), t

CVE-2024-53506 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the ids array parameter in /batchGetBlockAttrs. R

CVE-2024-53505 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the id parameter at /getAssetContent. Rated criti

CVE-2024-53504 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the notebook parameter in /searchHistory. Rated c

CVE-2026-23852 CRITICAL POC
9.6 Jan 19

SiYuan personal knowledge management system prior to 3.5.4 has a stored XSS vulnerability (CVSS 9.6) that allows code ex

CVE-2026-56397 CRITICAL POC
9.4 Jun 21

Remote code execution in SiYuan note-taking application (before v3.6.1) allows any malicious Bazaar marketplace package

CVE-2026-54069 CRITICAL POC
9.2 Jun 24

Origin-validation bypass in SiYuan Note (open-source personal knowledge management) before 3.7.0 lets any installed Chro

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy