Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain admin credentials
-
DeliveryAuthenticate to SiYuan kernel HTTP server
-
ExploitSend GET to /history/data/.siyuan/publishAccess.json
-
ExecutionIsForbiddenAbsPath guard not invoked
-
ImpactReceive plaintext publish passwords
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK
2 techniques across 2 tactics: Collection, Discovery The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires valid SiYuan administrator credentials - the CVSS vector specifies PR:H, confirming high-privilege authentication is mandatory. The vulnerability targets the /history/*path and /repo/diff/*path HTTP API endpoints specifically, meaning the SiYuan kernel HTTP server must be network-reachable from the attacker. The confidentiality impact on publish-mode passwords is conditional on publish-mode being configured and the publishAccess.json file existing in data/.siyuan/. The guard bypass affects only these two endpoint families; other API routes covered by the original GHSA-c8r8-95hg-mp34 fix are not affected by this specific gap. No user interaction is required. Limiting factors: the PR:H requirement means anonymous or low-privilege attackers cannot exploit this directly; the impact is most severe when publish-mode is actively configured. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:H/UI:N with VC:H) yields a score of 6.9 (Medium), which accurately reflects the privilege barrier: exploitation requires administrator-level authentication, significantly narrowing the attacker pool to insiders, compromised admin credentials, or credential-reuse scenarios. The confidentiality impact is high because publishAccess.json stores publish-mode passwords in plaintext - an admin reading this file obtains credentials that may grant further access beyond SiYuan itself (e.g., to a published site or downstream integrations). No EPSS score is available in the provided data; given the admin-only prerequisite and niche product footprint, real-world opportunistic exploitation is expected to be low. There is no CISA KEV listing and no known public exploit code. The primary real-world risk scenario is a malicious or compromised administrator, or an escalation path where a lower-privilege account somehow gains admin access to SiYuan first. The missing EPSS data and absence of POC mean precise exploitation probability cannot be quantified - treat as a medium-priority finding in environments where SiYuan is deployed with publish-mode enabled. |
| Exploit ScenarioDerived | An attacker with valid SiYuan administrator credentials - obtained via credential stuffing, insider access, or a prior compromise of an admin account - sends an authenticated HTTP GET request to the /history/data/.siyuan/publishAccess.json endpoint. The IsForbiddenAbsPath guard is not invoked for this route, so the server returns the historical file snapshot containing plaintext publish-mode passwords. The attacker then uses those credentials to access the SiYuan publish endpoint or downstream services that reuse those credentials. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAI
Authenticated administrators in SiYuan before v3.8.1 can bypass the IsForbiddenAbsPath security guard - introduced to remediate GHSA-c8r8-95hg-mp34 - by targeting the /history/*path and /repo/diff/*path API endpoints, which construct file paths independently and were never covered by the guard. Exploitation enables retrieval of historical file snapshots including data/.siyuan/publishAccess.json, which stores plaintext publish-mode passwords, and files under data/templates/. No public exploit identified at time of analysis; the vendor-released patch is v3.8.1.
RemediationAI
The vendor-released patch is SiYuan v3.8.1, which applies the IsForbiddenAbsPath guard to the /history/*path and /repo/diff/*path endpoints. Users should upgrade to v3.8.1 or later immediately, following the guidance in the vendor advisory at https://github.com/siyuan-note/siyuan/security/advisories/GHSA-3cm4-ccvw-6xr6. As a compensating control for environments that cannot upgrade immediately, network-level access to the SiYuan kernel HTTP server should be restricted to trusted administrator hosts only - blocking unauthenticated and untrusted network access reduces the exposure surface, though it does not eliminate the risk from a malicious or compromised admin. Additionally, consider rotating any credentials stored in data/.siyuan/publishAccess.json if the system has been exposed to untrusted administrators, and auditing admin account access logs for unexpected API calls to /history/ or /repo/diff/ paths.
Affected VersionsENISA
Affected Packages
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 (CPE: cpe:2.3:a:siyuan-note:siyuan:*:*:*:*:*:*:*:*) is a self-hosted, local-first personal knowledge-base application with a kernel HTTP server defined in kernel/server/serve.go. A prior vulnerability (GHSA-c8r8-95hg-mp34) introduced an IsForbiddenAbsPath guard to prevent authenticated users from reading arbitrary absolute file paths through the API. However, this guard was only wired to certain route handlers; the /history/*path and /repo/diff/*path endpoints, which expose version-controlled historical file snapshots and repository diff views respectively, each build their own file paths without invoking the guard. This is an incomplete remediation - CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor) - where the root cause is inconsistent application of a security control across logically equivalent code paths serving the same class of sensitive data.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Network-reachable HTTP API, no complexity once authenticated; PR:H because admin credentials are required; confidentiality-only impact on sensitive credential files.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
SiYuan before v3.8.1 does not apply the IsForbiddenAbsPath guard (introduced in GHSA-c8r8-95hg-mp34) to the /history/*path and /repo/diff/*path endpoints in kernel/server/serve.go. These routes require admin authentication but construct file paths independently, so an authenticated administrator can retrieve historical snapshots of sensitive files that the guard is meant to block, including data/.siyuan/publishAccess.json (plaintext publish-mode passwords) and files under data/templates/.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
SQL injection in SiYuan's fullTextSearchAssetContent endpoint lets unauthenticated attackers and holders of publish Role
Stored cross-site scripting in SiYuan personal knowledge management before 3.7.0 lets an attacker with write access to a
SQL injection in SiYuan personal knowledge management (versions <= v3.7.2) lets attackers pass arbitrary SQL statements
Stored cross-site scripting in SiYuan's attribute-view (database) cell renderer, affecting all versions prior to 3.7.0,
SQL injection in SiYuan personal knowledge-management software (all versions before v3.7.3) lets attackers inject arbitr
A SQL injection vulnerability was discovered in Siyuan 3.1.11 in /getHistoryItems. Rated critical severity (CVSS 9.8), t
A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the ids array parameter in /batchGetBlockAttrs. R
A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the id parameter at /getAssetContent. Rated criti
A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the notebook parameter in /searchHistory. Rated c
SiYuan personal knowledge management system prior to 3.5.4 has a stored XSS vulnerability (CVSS 9.6) that allows code ex
Remote code execution in SiYuan note-taking application (before v3.6.1) allows any malicious Bazaar marketplace package
Origin-validation bypass in SiYuan Note (open-source personal knowledge management) before 3.7.0 lets any installed Chro
EUVD-2026-68237
GHSA-j8f5-rf5j-w7pm
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB