Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain same-origin or local API access to SiYuan
-
DeliveryEnumerate installed trusted plugin names
-
ExploitCraft bazaar install request with trusted packageName and attacker-controlled repoURL
-
ExecutionApplication fetches and installs malicious code without identity verification
-
PersistMalicious plugin overwrites trusted plugin directory
-
ImpactPersistent execution on every SiYuan restart
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V15 - Secure Coding and Architecture Data authenticity verification
|
| Exploitation Conditions | Exploitation requires same-origin access to the SiYuan bazaar install HTTP endpoints, meaning the attacker must be able to issue HTTP requests that satisfy the browser same-origin policy - achievable via a malicious script in an open SiYuan browser tab, a compromised browser extension, or direct API access to the localhost server port. The attacker must know the packageName of at least one already-installed, trusted plugin to target for overwrite. The CVSS 4.0 vector confirms low privileges (PR:L), partial user interaction (UI:P), and specific attack prerequisites (AT:P) are required. Exploitation is constrained to local-access scenarios (AV:L) with high complexity (AC:H), substantially narrowing the threat surface compared to fully remote unauthenticated flaws. Single-user deployments with no shared browser sessions and network-restricted SiYuan instances face materially reduced exposure. |
| Impact | The vendor-assigned CVSS 4.0 vector (AV:L/AC:H/AT:P/PR:L/UI:P) scoring 5.9 accurately captures the constrained exploitation surface: local access, high attack complexity, specific preconditions, low privilege, and partial user interaction all limit the realistic threat population. The vulnerability does not appear in the CISA KEV catalog, no POC code is referenced in the available intelligence, and EPSS data was not provided - leaving exploitation probability unquantified but inferably low given the access requirements. Despite the moderate score, the integrity and persistence impact is disproportionate: an attacker who meets prerequisites achieves durable plugin substitution that survives restarts, which is a meaningful foothold in environments where SiYuan plugins interact with sensitive notes or external data. The CVSS 4.0 subsequent-system integrity metric (SI:H) reflects this. Risk is highest in multi-user or team SiYuan deployments where a malicious insider or a compromised same-origin browser session can reach the Bazaar API; single-user, air-gapped, or network-restricted deployments face materially lower exposure. No data conflicts exist between available signals, though the absence of EPSS and KEV data leaves real-world exploitation frequency unconfirmed. |
| Exploit ScenarioDerived | An attacker with same-origin access to a SiYuan instance - for example, a malicious script running in the same browser session as an open SiYuan tab, or a local network actor who can reach the SiYuan HTTP API directly - crafts a bazaar install request specifying a trusted, already-installed plugin's packageName alongside a repoURL pointing to attacker-controlled malicious code. SiYuan fetches and installs the malicious code into the trusted plugin's directory without detecting the mismatch, after which the malicious plugin executes automatically on every subsequent application restart under the trust level of the overwritten plugin. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 22, 2026
Plugin integrity bypass in SiYuan before v3.7.4 allows attackers with same-origin access to overwrite trusted, installed plugins by exploiting the bazaar install endpoint's failure to verify that the downloaded package content matches the caller-supplied packageName. By pairing a legitimate plugin's packageName with an attacker-controlled repoURL, an adversary substitutes malicious plugin code that persists across application restarts, achieving durable code execution within the SiYuan application context. No public exploit code or active exploitation has been identified at time of analysis, but the persistence mechanism elevates the practical impact beyond the moderate CVSS score.
RemediationAI
Upgrade to SiYuan v3.7.4 or later, which introduces package identity validation in the bazaar install endpoints, as documented in the vendor advisory at https://github.com/siyuan-note/siyuan/security/advisories/GHSA-rpx2-p6hp-x5gj. For deployments where immediate upgrade is not feasible, restrict access to the SiYuan local HTTP API at the host firewall or application level to prevent untrusted same-origin requests from reaching the bazaar install endpoints - note this may break browser-based plugin management workflows. Disabling the Bazaar plugin installation feature entirely eliminates the attack surface at the cost of all plugin management capability. As a detection measure, audit installed plugin directories for unexpected or recently modified content to identify potential prior exploitation. No upstream commit hash for the fix was provided in the references; confirm the fix is included in the release artifact before deploying.
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 is a local-first, self-hosted note-taking application (CPE: cpe:2.3:a:siyuan-note:siyuan:*:*:*:*:*:*:*:*) that ships a plugin marketplace called 'Bazaar.' Bazaar install endpoints accept two caller-controlled parameters - packageName and repoURL - to fetch and install community plugins into named directories. The root cause is CWE-345 (Insufficient Verification of Data Authenticity): the application trusts the declared packageName without cryptographically or structurally verifying that the artifact fetched from repoURL actually corresponds to that package identity. This allows an attacker to direct the installer to fetch arbitrary code from an attacker-controlled repository while targeting the directory of an already-trusted, installed plugin, effectively replacing it. Because SiYuan loads plugins on startup from these directories, the substituted code executes automatically and persistently.
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:L/AC:H/AT:P/PR:L/UI:P/VC:L/VI:H/VA:L/SC:L/SI:H/SA:L
Local vector because SiYuan operates as a local application; PR:L and UI:R reflect same-origin access and user-initiated install action; S:C and I:H capture plugin namespace integrity violation with cross-restart persistence.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
SiYuan versions before v3.7.4 fail to validate that packageName matches the downloaded package content in bazaar install endpoints. Attackers with same-origin access can overwrite existing trusted plugins by supplying mismatched packageName and repoURL parameters, achieving persistence across application restarts.
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-64270
GHSA-989h-w3q9-3m2f
NVD
CVE.org
EPSS
Exploit-DB