Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach SiYuan kernel API on Windows
-
DeliverySend importStdMd with \\?\-prefixed conf path
-
ExploitBypass IsSensitivePath denylist
-
ExecutionConfig and TLS keys copied into public assets
-
ImpactFetch API token and private key unauthenticated
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires a Windows SiYuan install (kernel 3.5.4 through 3.8.6) because the exploit relies on the Windows NT extended-length prefix \\?\ surviving filepath.Clean as a volume name. The attacker must reach the kernel HTTP API (default 127.0.0.1:6806) and call /api/import/importStdMd with localPath pointing at the workspace conf directory via the \\?\ prefix; then retrieve the copied files through unauthenticated GET /assets/ URLs. Limiting factors: the advisory describes the caller as authenticated (though in default local mode with no lock-screen/access-auth-code the kernel accepts local requests without a token), the API must be reachable by the attacker, only denylist-only endpoints (importStdMd, copyExportFile) are affected while IsSubPath-guarded endpoints such as /export/ are immune, and the flaw does not apply to non-Windows builds. |
| Impact | Signals are moderately strong but partly conflicting. The supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H) scores 8.7 and models remote, low-complexity, unauthenticated exploitation with high confidentiality impact. However, the description and GHSA advisory both say 'Authenticated API callers' - so the PR:N in the input is in direct tension with the prose, and the auth requirement is unresolved (verify with vendor). The PoC further notes the kernel trusts local callers without a token only when no lock-screen/access-auth-code is set, so 'unauthenticated' holds mainly for local or auth-disabled deployments rather than a token-protected remote API. No EPSS score was provided (missing, not low), and the CVE is not listed in CISA KEV, so there is no evidence of active exploitation. Against that, a detailed public proof-of-concept is published in the GHSA advisory and was confirmed working end-to-end at runtime by the reporter (VulnCheck), and the vuln.today decision label is 'this_week'. Net: this is a credible, verified confidentiality-disclosure flaw (API token and TLS private keys exfiltrated to unauthenticated asset URLs) that warrants prompt patching, but its real-world blast radius is tempered by Windows-only applicability, the need to reach the kernel API, the authenticated-caller qualifier, and the product's niche footprint - more a targeted-opportunity issue than a mass-exploitation emergency. |
| Exploit ScenarioDerived | An attacker able to call the SiYuan kernel HTTP API on a Windows host sends POST /api/import/importStdMd with localPath set to the workspace conf directory prefixed with the NT extended-length prefix (\\?\), which survives filepath.Clean and bypasses the IsSensitivePath denylist. The kernel copies conf.json (API token, accessAuthCode) and TLS material (key.pem, cert.pem, ca.key) into data/assets/, which the attacker then retrieves via unauthenticated GET /assets/ requests. A reporter-confirmed public PoC for this exact flow is published in the GHSA advisory. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 25, 2026
SiYuan kernel on Windows 3.5.4 through 3.8.6 lets authenticated API callers bypass the IsSensitivePath denylist by prefixing localPath with the NT extended-length prefix \\?\, causing the workspace conf directory to be copied into data/assets and then served to unauthenticated clients over GET /assets/. The exposed files include conf.json with the API token and accessAuthCode plus key.pem, ca.key, and cert.pem; the GHSA includes a reproducible PoC with captured runtime confirmation, and the package range is >= 3.5.4, <= 3.8.6, fixed in v3.8.7. The independent assessment scores CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N; vuln.today labels it this_week, and no CISA KEV entry or EPSS score appears in the supplied data.
RemediationAI
Vendor-released patch: v3.8.7; upgrade SiYuan kernel on Windows from 3.5.4-3.8.6 to v3.8.7 per GHSA-6gmc-424x-xgpm. The supplied sources identify v3.8.7 as the fixed release and describe no denylist normalization or configuration switch, so network and authentication controls are compensating measures rather than a complete fix. If upgrading cannot happen immediately, make the kernel HTTP API unreachable to untrusted users by binding it to loopback and blocking remote access to the default port 6806, enable the lock-screen/accessAuthCode so local requests are not trusted without authentication, and restrict who can call /api/import/importStdMd; these controls can break remote API clients and local integrations, and they do not normalize \\?\ or repair the denylist. After any suspected exposure, inspect data/assets for unexpected conf-*, key-*, ca.*, or cert.pem copies and rotate the SiYuan API token and TLS private keys if those files were served.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
SiYuan's sensitive-path guard is a denylist: util.IsSensitivePath cleans the lowercased request path with filepath.Clean and then uses strings.HasPrefix against Windows system directories, Start Menu paths, <workspace>/conf, <workspace>/temp, home-directory credential dotfiles, and credentials/id_ filename prefixes. On Windows, the NT extended-length prefix \\?\ is treated by Go as a volume name, survives filepath.Clean verbatim, and matches none of those prefixes; the wrapper's filepath.EvalSymlinks fallback also returns the prefixed form unchanged, so the second IsSensitivePath check misses. The affected in-scope endpoint /api/import/importStdMd only checks IsSubPath against the installation WorkingDir, not the workspace, plus IsSensitivePath; a directory import copies non-markdown files into data/assets, which are served without authentication. /api/export/copyExportFile is a corroborating write-side endpoint with the same denylist-only guard and is out of scope per the project SECURITY.md, while /export/ is protected by an IsSubPath lexical containment check and was negative in the advisory's test matrix. The root cause maps to CWE-22 path traversal with a CWE-184 incomplete-denylist component; the flaw is Windows-specific because the prefix mechanism does not apply to non-Windows builds. The advisory describes the caller as authenticated, but its test notes that in default local mode with no lock-screen/accessAuthCode the kernel accepts local requests without a token; either way the API must be reachable by the attacker.
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:P/PR:H/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Network-reachable API, low complexity; advisory describes authenticated callers so PR:L; high confidentiality from token/TLS-key disclosure, no integrity or availability impact in the in-scope read path.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
4DescriptionCVE.org
SiYuan 3.5.4 before 3.8.7 on Windows contains a sensitive-path denylist bypass in IsSensitivePath because the Windows extended-length prefix (\\?\) survives filepath.Clean and matches no forbidden prefix. Authenticated API callers can prepend the prefix to localPath in /api/import/importStdMd to copy workspace conf files, including the API token and TLS private keys, into assets served to unauthenticated clients.
Technical POC Analysis
CWE-22 path traversal, with the contributing weakness CWE-184 (incomplete disallowed-input list).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
CVE-2026-116171 in SiYuan kernel (Windows) allows authenticated users to bypass path restrictions and expose sensitive configuration files, including API tokens and cryptographic keys. This affects organizations using SiYuan for knowledge management, potentially leading to unauthorized access and data breaches. Leadership should prioritize remediation due to high confidentiality impact.
Apply vendor patch.
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
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
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-109432
GHSA-6xx3-j82h-hmgh
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB