CVE-2026-82653: SiYuan before v3.8.1 Stored XSS via confirmDialog
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.
Security readout for executives and security teams
Plain-English summary
SiYuan versions before 3.8.1 can display attacker-controlled package or notebook names as active web content. A malicious name may execute script in a user’s browser when the user uninstalls a Bazaar package or unlocks an encrypted notebook, potentially exposing or altering sensitive information.
Executive priority
Treat as an urgent upgrade for internet-accessible, shared, or sensitive SiYuan environments. The high potential impact warrants rapid action, although user interaction is required and the supplied evidence does not show active exploitation.
Technical view
This stored cross-site scripting flaw occurs because confirmDialog() inserts package and notebook names into innerHTML without escaping. Network-accessible attackers with low privileges can store malicious markup, but execution requires a user action. The supplied CVSS 4.0 score is 9.3, reflecting potentially serious confidentiality and integrity impact across components.
Likely exposure
Deployments running SiYuan earlier than 3.8.1 are potentially exposed, particularly where users obtain Bazaar packages from untrusted publishers or handle attacker-influenced names. The bundle does not establish how commonly notebook names can be influenced by an attacker.
Exploitation context
The supplied sources describe a viable stored-XSS path but provide no evidence of active exploitation; the CVE is not identified as KEV. Exploitation requires storing a crafted name and persuading a user to uninstall the affected package or unlock the affected notebook.
Researcher notes
CWE-79 applies. The identified sinks are innerHTML assignments in confirmDialog(), with unescaped package and notebook names as inputs. Package uninstallation and encrypted-notebook unlocking are documented triggers. The bundle does not provide affected code locations, exploit observations, or detailed patch mechanics beyond indicating versions before 3.8.1.
Mitigation direction
Upgrade SiYuan to version 3.8.1 or later.
Review the vendor advisory before applying changes in production.
Until upgraded, avoid installing or uninstalling Bazaar packages from untrusted publishers.
Restrict access to sensitive SiYuan deployments and encrypted notebooks where operationally feasible.
Validation and detection
Inventory all SiYuan deployments and record their exact versions.
Confirm every deployment reports version 3.8.1 or later after remediation.
Review installed Bazaar package names for unexpected HTML-like content.
Review notebook names for unexpected markup and investigate their origin.
Verify upgrade success using the vendor advisory and normal application testing.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-79: User-session and phishing behavior lookup
Client-side and session-facing weaknesses should be reviewed alongside initial-access and user-execution behaviors. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
2CVSS vectors
3Timeline events
0ADP providers
3Source links
CVSS vector scores
2 official scores
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-79 · source CWE mapping
Improper Neutralization of Input During Web Page Generation
Improper Neutralization of Input During Web Page Generation represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.