Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessVictim connects workspace to attacker-controlled remote kernel
-
DeliveryMalicious kernel drives renderer to emit siyuan-send-windows IPC payload
-
ExploitMain process broadcasts {cmd:lockscreenByMode} to all windows
-
ExecutionSibling workspace with lockScreenMode=1 calls lockScreen()
-
ImpactRepeat to persistently lock unrelated workspaces (DoS)
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires the victim to run the SiYuan Electron desktop app with MULTIPLE workspaces open simultaneously, and at least one renderer must be connected to an attacker-controlled remote kernel (UI:P - the user must initiate/accept that connection). The DoS is only effective against sibling workspace windows whose lockScreenMode is set to 1 (a non-default per-workspace setting), which triggers lockScreen() on the broadcast {cmd: "lockscreenByMode"} message. Limiting factors: victim interaction to connect to a hostile kernel, dependence on the lockScreenMode=1 configuration, availability-only impact, and full recoverability (the user can unlock). No authentication of the IPC sender exists (that IS the vulnerability), but no cross-network unauthenticated exploitation against a default install occurs without the connected-remote-kernel precondition. |
| Impact | This is a genuinely low-priority, high-signal-noise-adjusted issue. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L) scores 5.3 and correctly reflects an availability-only impact - VA:L/SA:L with zero confidentiality and integrity impact, matching CWE-862 (Missing Authorization) and the description's explicit statement that no confidentiality, integrity, or code-execution impact was observed. There is no EPSS score, no CISA KEV listing, and no public exploit identified at time of analysis, so all exploitation-probability signals are absent or negative. The impact is a limited, recoverable denial of service (repeatedly locking sibling workspace windows), not a durable outage. UI:P plus the requirement that the victim connect a renderer to an attacker-controlled remote kernel meaningfully constrains real-world exploitability. Net: despite a 'medium' numeric score, the real-world risk is low - this is a defense-in-depth IPC isolation fix rather than an urgent threat. Note the supplied source-code 'evidence' is a version-bump diff (3.8.3-beta.1 → 3.8.3) and does NOT contain the actual authorization fix, and the advisory fix version is 3.8.4 - verify the patch commit against the GHSA advisory. |
| Exploit ScenarioDerived | A victim opens a SiYuan workspace whose renderer is connected to a remote kernel the attacker controls, while also having other local workspaces open. The malicious kernel drives that renderer to emit a {cmd: "lockscreenByMode"} payload into the unrestricted 'siyuan-send-windows' IPC channel, which the Electron main process broadcasts to every BrowserWindow; sibling workspace windows configured with lockScreenMode=1 invoke lockScreen(). Repeating the message repeatedly locks unrelated local workspaces, a limited DoS. No public exploit code is known. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 26, 2026
Cross-workspace denial of service in the SiYuan desktop (Electron) app lets a renderer that is connected to an attacker-controlled remote kernel broadcast a lockscreen command through the 'siyuan-send-windows' IPC handler, locking unrelated local workspace windows. The vulnerable handler does not validate the IPC sender or restrict recipients, so it forwards the payload to every window returned by BrowserWindow.getAllWindows(); sibling windows configured with lockScreenMode=1 invoke lockScreen() on receipt, and repeat messages keep those windows locked. Per the CVSS 4.0 vector the IPC path requires no privileges (PR:N) but does require user interaction (UI:P) - the victim must have multiple workspaces open and must have connected one renderer to the hostile kernel - and impact is availability-only, recoverable by manually unlocking; no public exploit code has been identified at time of analysis.
RemediationAI
Vendor-released patch: upgrade SiYuan desktop to v3.8.4 or later, the fixed version stated in the vendor advisory (https://github.com/siyuan-note/siyuan/security/advisories/GHSA-wxp7-xpq8-8xpm), whose remediation is delivered by the referenced upstream fix commit 8641553a1f07374001902d3ce773285db1292b2d. Because the flaw is a missing sender authorization check in the 'siyuan-send-windows' IPC handler, the change of behavior is confined to IPC routing and users should expect no functional loss from updating. If immediate upgrade is not possible, apply compensating controls that target the actual precondition rather than the whole application: (1) do not point desktop clients at untrusted or third-party SiYuan kernels - connecting to a hostile remote kernel is what supplies the malicious renderer, and this mitigation costs you the remote-kernel workflow entirely; (2) disable the per-workspace lockScreenMode option (set it to 0) so the broadcast {cmd: "lockscreenByMode"} message becomes a no-op - effective against this specific payload but not against any future misuse of the same unvalidated broadcast channel, and it removes the screen-lock-on-idle protection for those workspaces; (3) run workspaces that must remain isolated under separate OS user accounts or separate OS-level sandboxes so BrowserWindow.getAllWindows() cannot span them - this is operationally heavier and breaks single-instance convenience; and (4) restrict network reachability to any remote SiYuan kernel you do connect to, so an attacker cannot serve one at all. The availability impact is fully recoverable (the user can simply unlock the window), so none of these workarounds need to be treated as an emergency measure under default single-workspace, local-kernel use.
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
The issue is a missing-authorization flaw (CWE-862) in the Electron main process of SiYuan, specifically in the 'siyuan-send-windows' IPC handler implemented in app/electron/main.js. Electron IPC handlers receive an event object whose event.sender identifies the originating WebContents; SiYuan's handler ignores that value and instead broadcasts the incoming payload to every window returned by BrowserWindow.getAllWindows(). Because a SiYuan desktop install can host several workspaces at once, this turns a per-sender message channel into a global fan-out that crosses workspace (and effectively trust) boundaries - the reason the impact assessment assigns a scope change (S:C in the assessed CVSS:3.1 vector). A renderer attached to an attacker-controlled remote kernel is itself a normal, expected SiYuan capability (the client can point at a remote kernel), so the low-privilege renderer reaches a higher-privileged broadcast primitive. The only message demonstrated to be harmful is {cmd: "lockscreenByMode"}, which causes a receiving window whose per-workspace lockScreenMode setting is 1 to call lockScreen(). This is a classic confused-deputy/IPC-boundary pattern: no memory-safety issue, no code execution, no confidentiality or integrity loss - just unauthorized state-changing invocation of an existing UI function across a boundary where it was never intended to operate.
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:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L
UI:R because the victim must connect a renderer to an attacker-controlled kernel; S:C because the IPC broadcast crosses the workspace-window boundary; availability-only limited DoS (A:L), no C/I impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
SiYuan before v3.8.4 does not validate the sender or restrict recipients in the 'siyuan-send-windows' IPC handler of the Electron main process (app/electron/main.js). The handler ignores event.sender and forwards any received payload to every BrowserWindow returned by BrowserWindow.getAllWindows(), including windows belonging to other opened workspaces. A renderer connected to an attacker-controlled remote kernel can therefore send {cmd: "lockscreenByMode"} and have it delivered across the workspace boundary; a sibling workspace window whose lockScreenMode is set to 1 invokes lockScreen(). Repeated messages allow the remote workspace to repeatedly lock unrelated local workspace windows, causing a limited denial of service. No confidentiality, integrity, or code-execution impact was observed.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
SQL injection in SiYuan personal knowledge management (versions <= v3.7.2) lets attackers pass arbitrary SQL statements
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
Reflected XSS in SiYuan knowledge management before 3.5.9.
SiYuan knowledge management system prior to 3.5.5 has a path traversal in /api/file/copyFile allowing arbitrary file ope
SiYuan version 3.0.3 allows executing arbitrary commands on the server. Rated critical severity (CVSS 9.0), this vulnera
EUVD-2026-87728
GHSA-w745-gjg3-r76m
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB