Sceawere
Vulnerability Detail
CVE-2026-82653UPDATED Verified Sceawere Triage Sources: NVD / CISA KEV
SiYuan Stored XSS Vulnerability
Vulnerability Metadata
- Severity
- High
- Score / CVSS
- 8.9
- Creation Date
- 3h ago
- Vendor
- siyuan-note
- Product
- siyuan
- Attack Type
- Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
- Vector String
- CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:L
- Attack Complexity
- LOW
Narrative and Response
Description
SiYuan before v3.8.1 contains a stored cross-site scripting vulnerability in confirmDialog() where unescaped package names and notebook names are interpolated directly into innerHTML assignments. Attackers can submit malicious bazaar packages with HTML/script payloads in the name field that execute in users' browsers when uninstalling packages or unlocking encrypted notebooks.
Executive Summary
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Technical Details
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Mitigations
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
References
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Additional Metadata
{
"score": "8.9",
"pubDate": "2026-08-30T15:16:46.033Z",
"pubdate": "2026-08-30T15:16:46.033Z",
"executiveSummary": "SiYuan versions prior to 3.8.1 are susceptible to a stored cross-site scripting (XSS) vulnerability located within the confirmDialog() function.\nThis vulnerability arises from the improper handling of untrusted user input, specifically regarding bazaar package names and notebook names.\nBy injecting malicious HTML or script payloads into these naming fields, an attacker can trigger arbitrary code execution within the context of a victim's browser session.\nThe attack is successfully executed when a victim performs actions such as uninstalling a malicious package or attempting to unlock an encrypted notebook.\nThe successful exploitation of this flaw allows attackers to compromise user data, perform unauthorized actions on behalf of the user, or hijack active sessions.\nThis represents a significant security risk for users, as it leverages trusted interface functions to execute malicious payloads, bypassing typical user expectations of safe interaction with application components.",
"technicalDetails": "The root cause of this stored XSS vulnerability is an insecure implementation of the DOM manipulation logic within the confirmDialog() function. The application directly interpolates unescaped strings derived from package and notebook names into the innerHTML property of the dialog component.\nThe vulnerability is triggered because the application fails to perform adequate input sanitization or context-aware output encoding. When a malicious actor publishes a bazaar package with a crafted payload—such as <img src=x onerror=alert(1)>—that payload is persisted within the application's metadata.\nThe attack flow proceeds as follows: First, the attacker crafts a package or notebook with a malicious name containing script tags. Second, this payload is stored in the application's configuration or registry. Third, when a victim interacts with the SiYuan interface to uninstall the malicious package or unlock a notebook, the confirmDialog() function is invoked to display the operation's context. Fourth, the application dynamically generates the dialog box by inserting the malicious name string directly into the innerHTML property. Finally, the browser parses the malicious content as executable code, triggering the XSS payload in the context of the user's origin.\nThis vulnerability is classified as stored XSS because the malicious payload is saved in the application state and is rendered every time the specific interaction occurs. It does not require high-level privileges to initiate, provided the attacker can influence the package registry or local notebook configurations. Because the payload executes inside the browser process, the attacker can leverage the browser's context to access local storage, steal sensitive cookies, or execute further DOM-based attacks. The impact is significant as it affects the confidentiality and integrity of the user's notebook data and general application usage, effectively allowing remote script execution through interface manipulation."
}