Skip to main content

Electron CVE-2026-102673

| EUVDEUVD-2026-89078 MEDIUM
Origin Validation Error (CWE-346)
2026-09-29 GitHub_M GHSA-hq2x-r82h-9wj4
6.1
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Load malicious content in app's sandboxed iframe
  2. Delivery
    Script opens popup via target=_blank/middle-click
  3. Exploit
    Popup skips inherited sandbox flags (OpenURLFromTab)
  4. Execution
    Popup runs with embedding app's origin
  5. Impact
    Read cookies/storage, same-origin scripting

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Origin validation
Exploitation Conditions

Requires the target Electron application (prior to 41.10.4 / 42.5.2 / 43.0.0) to embed UNTRUSTED web content inside an HTML sandboxed iframe configured with the 'allow-scripts allow-popups' keywords but WITHOUT 'allow-popups-to-escape-sandbox'. Exploitation is triggered when that iframe opens a popup via Electron's OpenURLFromTab navigation path - specifically links using target="_blank" or a middle-click - which then fails to inherit the parent's sandbox restrictions and receives the embedding application's full origin. Limiting factors: the flaw is inert for applications that do not embed untrusted content in sandboxed iframes (explicitly stated unaffected); it requires the specific non-default iframe sandbox configuration; and CVSS marks UI:R, reflecting that a middle-click path needs user interaction (though scripted target=_blank popups reduce that dependency).

Impact

This is a legitimate but conditionally-scoped issue in an extremely widely-deployed framework. The vendor CVSS3.1 vector (AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N = 8.2) is internally consistent with the described impact: a scope-changing (S:C) origin-boundary breach where content isolated in a sandboxed iframe escapes to the embedding application's full origin, exposing cookies, storage (C:H) and enabling same-origin scripting (I:L). No EPSS score, no CISA KEV listing, and no public POC are present in the input, so exploitation status is 'no public exploit identified at time of analysis' - this is not a widespread-exploitation emergency. The score is meaningfully gated by a non-default precondition that CVSS base metrics do not capture: the affected application must itself embed UNTRUSTED content inside a sandboxed iframe configured with 'allow-scripts allow-popups' (and without 'allow-popups-to-escape-sandbox'). The description explicitly states applications not embedding untrusted content in sandboxed iframes are unaffected, so real-world exposure is far narrower than the ubiquity of Electron would suggest. PR:N is appropriate because the attacker is the untrusted embedded web content, not an authenticated app user. Bottom line: real but targeted - prioritize for Electron apps that render third-party/untrusted web content in sandboxed iframes; deprioritize for apps that only load trusted first-party content.

Exploit ScenarioDerived

An Electron application embeds untrusted third-party web content in a sandboxed iframe using 'allow-scripts allow-popups'. Attacker-controlled script in that iframe opens a popup via target="_blank" (or lures a middle-click) through the OpenURLFromTab path; the popup loads without inheriting the iframe's sandbox flags, running with the embedding application's full origin. The attacker's popup content then reads that origin's cookies and storage and performs same-origin scripting. No public POC is identified in the provided data.

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

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

Alert me

AnalysisAIv1 – Sep 29, 2026

Electron before 41.10.4, 42.5.2, and 43.0.0 fails to propagate HTML iframe sandbox restrictions to popups opened through its OpenURLFromTab navigation path, so an untrusted iframe configured with 'allow-scripts allow-popups' (but without 'allow-popups-to-escape-sandbox') can open a new window that runs with the embedding application's full origin, granting same-origin script access to that origin's cookies and storage. Exploitation requires the target application to embed untrusted web content in such a sandboxed iframe and to trigger a popup - via a scripted target="_blank" link or a middle-click - so the assessed CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N rating marks this as unauthenticated but user-interaction dependent, with high confidentiality and low integrity impact and a changed scope. Applications that do not embed untrusted content in sandboxed iframes are explicitly unaffected; no public exploit code or confirmed active exploitation was identified at time of analysis, and the issue is fixed by vendor-released versions 41.10.4, 42.5.2, and 43.0.0.

RemediationAI

Vendor-released patch: upgrade Electron to 41.10.4, 42.5.2, or 43.0.0 (or later on the corresponding line), as documented in GHSA-hq2x-r82h-9wj4; the fix is carried by PR https://github.com/electron/electron/pull/52133 and commits 7ea14d5f55ecb11a30447701ddca16b3feee0bba, e26b2640e7795c42bfb111b76009cbb4327c9a69, and ebe1165ee2b05c203c26dd2244ef1c5b9b1c04da, and adds an openerSandboxFlags webPreference so popups inherit the opener's sandbox flags. If immediate upgrade is not possible, the most direct compensating control is to stop allowing popups from sandboxed untrusted content: remove the 'allow-popups' keyword from any sandboxed iframe hosting untrusted HTML (note that this also blocks legitimate popup flows such as OAuth or share dialogs initiated inside that frame, and the frame can still log blocked-window console errors), or, if popups are required, add 'allow-popups-to-escape-sandbox' only when the framed content is actually trusted - applying it to untrusted content deliberately grants the escaped behavior and is not a mitigation. Alternatively, intercept popups at the application layer by setting a window-open handler (setWindowOpenHandler) or listening for the '-new-window' event and denying, or forcing the popup to load in a hardened session partition, for untrusted iframes; the trade-off is that this breaks expected new-window behavior for the embedded content. Hosting untrusted content in a separate session partition or distinct origin with node integration disabled reduces the value of a same-origin popup but does not restore the missing sandbox inheritance, so treat it as defense in depth only until the patched Electron version is deployed.

Affected VersionsENISA

electron < 41.10.4
electron 43.0.0-alpha.1, < 43.0.0
electron 42.0.0-alpha.1, < 42.5.2

Affected Packages

npm electron fix: 41.10.4, 42.5.2, 43.0.0
euvd electron_42_0_0_alpha_1 fix: 42.5.2
euvd electron_43_0_0_alpha_1 fix: 43.0.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 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

The flaw is a CWE-346 origin validation error in how Electron constructs the auxiliary browsing context (popup) requested from a sandboxed frame. Per the HTML standard's iframe sandbox rules, an auxiliary browsing context created by a sandboxed frame must inherit the initiator's sandbox flags unless the 'allow-popups-to-escape-sandbox' keyword is present; Chromium enforces this through the kPropagatesToAuxiliaryBrowsingContexts flag consulted by content::WebContentsImpl::CreateWithOpener. Electron's own OpenURLFromTab implementation in shell/browser/api/electron_api_web_contents.cc resolved the initiator and checked whether 'allow-popups' was set, but never carried the initiator document's active sandbox flag set onto the new WebContents created for the popup, leaving the popup unsandboxed and, because it was opened in the embedding application's context, effectively same-origin with the host application. The upstream fix (PR 52133, commits 7ea14d5f, e26b2640, ebe1165e) resolves the initiating frame via source_render_process_id/source_render_frame_id (necessary because for non-CURRENT_TAB dispositions frame_tree_node_id refers to a frame that does not yet exist), captures the initiator's flags when kPropagatesToAuxiliaryBrowsingContexts is absent, threads them through the '-new-window' event into openGuestWindow as inheritedSandboxFlags, and applies them as a new openerSandboxFlags webPreference that becomes starting_sandbox_flags on the guest WebContents - sandbox flags can only be added this way, never cleared. The affected package is the Electron framework itself (CPE cpe:2.3:a:electron:electron:*:*:*:*:*:*:*:*) across all releases before the fixed branches; the impact is a bypass of the HTML iframe sandbox attribute for origin isolation, not a break of Chromium's OS-level process sandbox.

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

Vendor (GitHub_M) PRIMARY HIGH
NVD 6.1 MEDIUM
AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
vuln.today AI 8.2 HIGH

Attacker is untrusted embedded web content (PR:N) crossing the sandbox origin boundary (S:C) to expose the app origin's cookies/storage (C:H) with same-origin scripting (I:L); popup/click path implies UI:R, no availability impact.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

4
Severity Changed
Oct 15, 2026 - 14:07 NVD
HIGH MEDIUM
CVSS changed
Oct 15, 2026 - 14:07 NVD
8.2 (HIGH) 6.1 (MEDIUM)
Patch available
Sep 29, 2026 - 18:18 EUVD
CVE Published
Sep 29, 2026 - 16:38 cve.org
HIGH 8.2

DescriptionNVD

Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to 41.10.4, 42.5.2, and 43.0.0, popups opened from a sandboxed iframe through Electron's OpenURLFromTab navigation path, including links using target="_blank" or a middle-click, did not receive the inherited HTML sandbox restrictions. An untrusted iframe using the allow-scripts allow-popups configuration could therefore open a popup with the embedding application's full origin, exposing that origin's cookies, storage, and same-origin scripting capabilities. Applications that do not embed untrusted content in sandboxed iframes are not affected. This issue is fixed in versions 41.10.4, 42.5.2, and 43.0.0.

Technical POC Analysis

Evidence base: GHSA-hq2x-r82h-9wj4 only.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Electron-based applications that embed untrusted web content in sandboxed iframes are affected by a high-severity vulnerability that could allow attackers to access sensitive user data such as cookies and storage. No public exploit identified at time of analysis, but the flaw is unauthenticated and requires user interaction to trigger. Leadership should care because many internal and customer-facing applications rely on Electron, and exploitation could lead to unauthorized access to user accounts and data, though it requires specific application configurations.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Prevalence
Ubiquitous
Electron underpies VS Code, Slack, Discord, Teams and countless desktop apps
Threat Intel
1
1 source
Data Quality
6 sources
Confidence: High
EUVD 🇯🇵JVN NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub

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.1%
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2018-1000006 HIGH POC
8.8 Jan 24

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

CVE-2025-67744 CRITICAL POC
9.6 Dec 16

Cross-site scripting in DeepChat's Mermaid diagram renderer escalates to full remote code execution on affected desktop

CVE-2025-66481 CRITICAL POC
9.6 Dec 09

Remote code execution in DeepChat 0.5.1 and below is possible through a cross-site scripting flaw in Mermaid diagram ren

CVE-2026-93922 HIGH POC
8.6 Sep 18

Stored cross-site scripting in SiYuan through 3.8.4 lets an attacker who can set a notebook name containing an HTML payl

CVE-2017-12581 HIGH POC
8.1 Aug 06

GitHub Electron before 1.6.8 allows remote command execution because of a nodeIntegration bypass vulnerability. Rated hi

CVE-2018-15685 HIGH POC
8.1 Aug 23

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

CVE-2018-1000136 HIGH POC
8.1 Mar 23

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

CVE-2024-39698 HIGH POC
7.5 Jul 09

electron-updater allows for automatic updates for Electron apps. Rated high severity (CVSS 7.5), this vulnerability is r

CVE-2026-70604 HIGH POC
7.4 Aug 05

Cross-origin read bypass in Electron's custom protocol handler exposes sensitive application data to remote pages via fe

CVE-2026-70611 MEDIUM POC
6.9 Aug 05

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

CVE-2020-4077 CRITICAL
9.9 Jul 07

In Electron before versions 7.2.4, 8.2.4, and 9.0.0-beta21, there is a context isolation bypass. Rated critical severity

CVE-2026-102676 CRITICAL
9.8 Sep 29

Privilege escalation in the Electron framework lets a <webview> guest grant itself Node.js integration inside its Web Wo

Vendor StatusVendor

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