Skip to main content

SiYuan CVE-2026-100634

| EUVDEUVD-2026-87728 MEDIUM
Missing Authorization (CWE-862)
2026-09-26 VulnCheck GHSA-w745-gjg3-r76m
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Victim connects workspace to attacker-controlled remote kernel
  2. Delivery
    Malicious kernel drives renderer to emit siyuan-send-windows IPC payload
  3. Exploit
    Main process broadcasts {cmd:lockscreenByMode} to all windows
  4. Execution
    Sibling workspace with lockScreenMode=1 calls lockScreen()
  5. Impact
    Repeat 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.5% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – 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

SiYuan 0 <3.8.4

Affected Packages

euvd siyuan fix: 3.8.4

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

Vendor (VulnCheck) PRIMARY 5.3 MEDIUM
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
vuln.today AI 4.7 MEDIUM

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.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

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

EPSS Score
0.5%
Top 62% exploitable
Prevalence
Medium
popular open-source self-hosted PKM, sizable user base but not enterprise-ubiquitous
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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.5%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

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.

More in Siyuan

View all
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-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

CVE-2026-29183 CRITICAL POC
9.3 Mar 06

Reflected XSS in SiYuan knowledge management before 3.5.9.

CVE-2026-25539 CRITICAL POC
9.1 Feb 04

SiYuan knowledge management system prior to 3.5.5 has a path traversal in /api/file/copyFile allowing arbitrary file ope

CVE-2024-2692 CRITICAL POC
9.0 Apr 04

SiYuan version 3.0.3 allows executing arbitrary commands on the server. Rated critical severity (CVSS 9.0), this vulnera

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