CVE-2026-100640 in SiYuan
Summary
by MITRE • 09/26/2026
SiYuan before v3.8.4 contains an authorization omission in the siyuan-get IPC handler that allows remote-kernel renderers to access native clipboard formats by invoking clipboardReadMathML, clipboardReadOffice, and clipboardReadWPS commands with matching plaintext. Attackers controlling remote renderer content can obtain MathML formulas, Office bytes, and WPS bytes from local clipboard during user-mediated paste operations.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
Analysis
by VulDB Data Team • 09/26/2026
The vulnerability identified in SiYuan versions prior to 3.8.4 represents a critical failure in access control mechanisms within the application's inter-process communication architecture. Specifically, the siyuan-get IPC handler lacks sufficient authorization checks when processing requests from remote-kernel renderers. This architectural flaw allows untrusted or potentially malicious content rendered by external processes to interact directly with sensitive local system resources without proper validation of the caller's privileges. The core issue lies in the insufficient separation between trusted native operations and untrusted web-based rendering contexts, a common pitfall in applications built on Electron or similar hybrid frameworks where JavaScript code runs alongside native C++ components.
The technical exploitation vector involves specific clipboard reading commands: clipboardReadMathML, clipboardReadOffice, and clipboardReadWPS. These functions are designed to retrieve data from the local system clipboard for use within the application's editing environment. However, due to the authorization omission, any remote renderer with access to these IPC endpoints can invoke them using matching plaintext inputs. This means that an attacker who has achieved code execution or content injection capabilities within a remote-rendered view of SiYuan can trigger these functions programmatically. The vulnerability effectively bypasses the intended security boundary, allowing external processes to read clipboard contents in formats such as MathML for mathematical formulas, raw Office document bytes, and WPS office file data.
The operational impact of this flaw is significant, particularly regarding data confidentiality and privacy. Since the attack relies on user-mediated paste operations or interactions that trigger these IPC calls, it facilitates a form of cross-context data exfiltration. An attacker controlling remote renderer content can silently extract sensitive information stored in the clipboard before the user even pastes it into their document. This includes proprietary mathematical formulas which may contain intellectual property, confidential office documents containing personal or corporate secrets, and WPS files that might hold similar sensitive data. The ability to read these specific formats suggests a targeted approach where attackers could harvest high-value structured data rather than just generic text, increasing the potential damage of an exploit.
This vulnerability aligns with CWE-284, which describes Improper Access Control, as well as CWE-798, concerning Use of Hard-coded Credentials if authentication tokens were improperly managed in similar contexts, though here it is strictly a logic flaw in permission checking. From a threat modeling perspective using the MITRE ATT&CK framework, this behavior corresponds to T1005 - Data from Local System and potentially T1213 - Data from Information Repositories, as the attacker extracts data that was temporarily stored or cached by the operating system for user convenience. The attack scenario typically involves a malicious extension, injected script, or compromised plugin within SiYuan leveraging this IPC misconfiguration to communicate with native components without authorization.
Mitigation strategies must focus on enforcing strict origin and privilege checks before executing any clipboard-related operations via IPC. Developers should implement allowlists that restrict which renderer contexts are permitted to invoke sensitive functions like clipboardReadMathML. Additionally, implementing a permission model where such actions require explicit user consent or elevated privileges would prevent silent data extraction. Upgrading to SiYuan version 3.8.4 or later is the primary remediation step as it addresses this authorization omission in the siyuan-get handler. Until an update is applied, users should exercise caution with third-party plugins and avoid pasting sensitive information into documents rendered by untrusted sources within the application environment.