Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLure victim to attacker content in sandboxed Electron window
-
DeliveryContent invokes window.open to spawn popup
-
ExploitPopup fails to inherit sandbox flags
-
ExecutionPopup runs with app's full origin
-
PersistRead cookies/localStorage, script same-origin
-
ImpactExfiltrate session data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V8 - Authorization Privilege assignment review
|
| Exploitation Conditions | Exploitation is limited to Electron applications that render UNTRUSTED content inside a top-level document made sandboxed via a Content-Security-Policy 'sandbox' directive (e.g. 'sandbox allow-scripts allow-popups') where popups are permitted. It additionally requires user interaction (UI:R) to trigger the popup (window.open / target=_blank). Applications are NOT affected if they deny such popups via setWindowOpenHandler, if they do not embed untrusted content, or if they do not use a sandboxing CSP that still allows popups. Fixed in 41.10.6, 42.9.2, 43.4.1, and 44.0.0-beta.5, so only earlier versions are vulnerable. |
| Impact | This is a genuine but conditionally-triggered security-boundary bypass, not a high-CVSS-but-low-impact paper cut. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N, 8.2 High) reflects a network-reachable, low-complexity, unauthenticated origin-confinement break where the scope changes (S:C) because the escaping content jumps from the intended sandboxed/null origin into the Electron app's full origin. However, exploitability signals point to targeted rather than opportunistic risk: EPSS is not provided, the CVE is not in CISA KEV (no confirmed active exploitation), and no public POC is referenced - status is 'no public exploit identified at time of analysis.' Reported by GitHub_M via the vendor's own GHSA-gr2m-v5gq-v685 advisory with four remediation commits and pinned fixed releases, so the fix is well-confirmed. The real limiter is architectural applicability, not attacker skill: only Electron apps that (a) render untrusted content inside a top-level document made sandboxed by a CSP 'sandbox' header, (b) permit that content to open popups, and (c) do NOT deny popups via setWindowOpenHandler are affected. The CWE is CWE-266 (incorrect privilege assignment); the 'Information Disclosure' tag is a loose fit given C:H is the primary impact but understates the same-origin scripting exposure. This is a direct twin of the sandboxed-iframe variant CVE-2026-102673, differing only in that the sandbox originates from a top-level CSP header (no parent frame) rather than an iframe attribute. |
| Exploit ScenarioDerived | An Electron application loads untrusted web content in a top-level document that is sandboxed via a CSP 'sandbox allow-scripts allow-popups' header. The malicious content opens a popup window (e.g. via window.open/target=_blank); instead of inheriting the sandbox's restricted null origin, the popup is created with the Electron app's full origin, giving the attacker's script access to the app's cookies, localStorage, and same-origin resources. No public exploit code is currently identified, but the vendor test suite demonstrates the exact origin/localStorage/cookie escape. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 29, 2026
Sandbox escape in Electron desktop applications lets untrusted content rendered in a CSP-sandboxed top-level document open popup windows that inherit the application's full privileged origin instead of the restricted origin intended by the sandbox, exposing that origin's cookies and localStorage. Exploitation requires the application to load untrusted content into a document sandboxed via a Content-Security-Policy 'sandbox' directive that still permits popups, and requires user interaction (window.open or target=_blank) per the CVSS vector (AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N); applications that deny popups with setWindowOpenHandler are not affected. The flaw is fixed in Electron 41.10.6, 42.9.2, 43.4.1, and 44.0.0-beta.5, and no public exploit code has been identified at time of analysis.
RemediationAI
Vendor-released patch: upgrade to Electron 41.10.6, 42.9.2, 43.4.1, or 44.0.0-beta.5 (the fixed releases referenced at https://github.com/electron/electron/releases/tag/v41.10.6, .../v42.9.2, .../v43.4.1, and .../v44.0.0-beta.5), and consult the advisory at https://github.com/electron/electron/security/advisories/GHSA-gr2m-v5gq-v685 for the maintainer's guidance. If upgrading immediately is not possible, the primary compensating control is to install a window-open handler on every WebContents that displays untrusted content and deny popups outright (setWindowOpenHandler returning {action: 'deny'}), which neutralizes the flaw but breaks any legitimate popup or target=_blank flow the application relies on; a narrower variant is to allow only specific trusted URLs while denying everything else. A second option is to remove 'allow-popups' from the 'sandbox' directive used for untrusted top-level content so popups cannot be opened at all, at the cost of disabling popup-driven features in that content, and to avoid using CSP sandboxing as the sole isolation mechanism for untrusted content in favor of separate BrowserWindow or WebView instances.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 4 packages in npm, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Electron is a Chromium-based framework for building cross-platform desktop apps with JavaScript, HTML, and CSS. Web content can be isolated by the HTML 'sandbox' attribute or by a Content-Security-Policy 'sandbox' directive, which forces the document into a unique opaque origin and blocks access to cookies, localStorage, and same-origin resources. The root cause is CWE-266 (Incorrect Privilege Assignment): Electron's WebContents::OpenURLFromTab logic only propagated the sandbox restrictions of a new window when the initiating frame had a parent (i.e. it was an iframe), checking 'initiator->GetParent()'. A top-level document made sandboxed by a CSP header has no parent frame, so that condition evaluated false and the popup opened by that document was created without the sandbox, adopting the Electron application's full origin rather than the opaque 'null' origin. The upstream commits (e.g. 29fc130569f970e91e355383821a4af0f25724a2) change the check to 'if (initiator)' and update the log message from 'Blocked opening a new window because the iframe is sandboxed' to '...because the opener is sandboxed', and a regression test confirms that a popup opened from a CSP-sandboxed top-level frame reports origin 'null' with localStorage and cookie access throwing SecurityError.
Know when Electron 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
AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Network-delivered untrusted content, no auth (PR:N), but a popup must be opened (UI:R); origin confinement break crosses into the app origin (S:C) yielding high confidentiality, limited integrity, no availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorNVD
Lifecycle Timeline
4DescriptionNVD
Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to 41.10.6, 42.9.2, 43.4.1, and 44.0.0-beta.5, windows opened from a sandboxed top-level document did not inherit that document's active HTML sandbox restrictions. Untrusted content in a sandboxed top-level document that was permitted to open popups could therefore create a window with the Electron application's full origin instead of the restricted origin intended by the sandbox. Applications that deny such popups with setWindowOpenHandler are not affected. This issue is fixed in versions 41.10.6, 42.9.2, 43.4.1, and 44.0.0-beta.5.
Technical POC Analysis
Evidence base disclaimer: The only supplied evidence is the GitHub advisory GHSA-gr2m-v5gq-v685.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Electron-based desktop applications that render untrusted content inside CSP-sandboxed documents are exposed to a high-severity sandbox escape (CVE-2026-102674, CVSS 8.2) that can expose cookies and localStorage belonging to the application's full privileged origin. The attack is unauthenticated (PR:N) but requires a user to trigger a popup, meaning a single click on hostile content in an affected desktop client could hand an attacker the session material for that origin. Leadership should care because the privileged origin typically holds credentials for the app's backend services, making this a plausible account-takeover and data-exposure path across the installed desktop estate wherever third-party or user-supplied content is displayed.
No vendor-released patch identified at time of analysis per the feed; interim mitigations are to deny popups from sandboxed documents by implementing setWindowOpenHandler with a deny action, remove popup permissions (e.g. allow-popups) from the CSP 'sandbox' directive, avoid loading untrusted content into documents that retain the privileged origin, and isolate or shorten the lifetime of cookies and localStorage for that origin. If the fixed builds cited in the advisory (Electron 41.10.6, 42.9.2, 43.4.1, 44.0.0-beta.5) are available to you, apply them.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
GitHub Electron versions 1.8.2-beta.3 and earlier, 1.7.10 and earlier, 1.6.15 and earlier has a vulnerability in the pro
Cross-site scripting in DeepChat's Mermaid diagram renderer escalates to full remote code execution on affected desktop
Remote code execution in DeepChat 0.5.1 and below is possible through a cross-site scripting flaw in Mermaid diagram ren
Stored cross-site scripting in SiYuan through 3.8.4 lets an attacker who can set a notebook name containing an HTML payl
GitHub Electron before 1.6.8 allows remote command execution because of a nodeIntegration bypass vulnerability. Rated hi
GitHub Electron 1.7.15, 1.8.7, 2.0.7, and 3.0.0-beta.6, in certain scenarios involving IFRAME elements and "nativeWindow
Electron version 1.7 up to 1.7.12; 1.8 up to 1.8.3 and 2.0.0 up to 2.0.0-beta.3 contains an improper handling of values
electron-updater allows for automatic updates for Electron apps. Rated high severity (CVSS 7.5), this vulnerability is r
Cross-origin read bypass in Electron's custom protocol handler exposes sensitive application data to remote pages via fe
Native code execution outside the Chromium sandbox is achievable in Electron prior to 39.8.9, 40.9.2, 41.2.1, and 42.0.0
In Electron before versions 7.2.4, 8.2.4, and 9.0.0-beta21, there is a context isolation bypass. Rated critical severity
Privilege escalation in the Electron framework lets a <webview> guest grant itself Node.js integration inside its Web Wo
EUVD-2026-89091
GHSA-gr2m-v5gq-v685
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB