Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessServe malicious JavaScript to Electron renderer
-
DeliveryOverride Function.prototype.bind before contextBridge Promise resolves
-
ExploitTrigger exposed Promise-returning contextBridge function
-
ExecutionHijacked bind leaks preload world JS context reference
-
PersistTraverse reference to access preload capabilities
-
ImpactExecute arbitrary IPC calls or Node.js code
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Protection mechanism completeness
|
| Exploitation Conditions | Exploitation requires two simultaneous conditions: (1) the Electron app must expose at least one Promise-returning function via contextBridge.exposeInMainWorld - the standard pattern for wrapping ipcRenderer.invoke - and (2) that same renderer window must load untrusted web content (e.g., remote URLs, user-supplied content, or third-party iframes). Apps that exclusively load local, first-party, trusted content in windows with contextBridge APIs are not affected. Exploitation is limited to the web content context: the attacker must be able to execute arbitrary JavaScript within the renderer (e.g., via a malicious page the app navigates to, or via XSS). Post-exploitation impact is bounded by the preload script's capabilities; escalation to Node.js occurs only in renderers where nodeIntegration is enabled or the Electron sandbox is not enforced, which are non-default but common configurations in older apps. Authentication to the system is not required (PR:N in CVSS), but the attacker must control content loaded by the renderer. |
| Impact | The NVD CVSS score of 7.5 (High) is driven by the scope-change flag (S:C) and high confidentiality impact (C:H), which accurately reflect that a successful exploit crosses a security boundary and grants access to a more privileged context. Attack Complexity is rated High (AC:H), consistent with the requirement that the app must be specifically configured to expose Promise-returning functions via contextBridge AND load untrusted content - both conditions must hold simultaneously. No privileges are required from the attacker (PR:N) and no user interaction is needed beyond the app's normal operation. There is no EPSS score or KEV listing in the provided data, indicating no confirmed active exploitation at time of analysis, and no public POC has been identified. Despite AC:H, real-world risk is elevated because the vulnerable pattern (wrapping ipcRenderer.invoke with contextBridge) is the canonical Electron security recommendation, meaning many production apps are likely configured this way. The S:C scope change is the most operationally significant signal: in apps without sandboxing or with nodeIntegration, this becomes a full Node.js code execution primitive. The A:N (no availability impact) reflects that this is primarily a privilege escalation/information disclosure path rather than a crash vector. |
| Exploit ScenarioDerived | An attacker serves a malicious webpage loaded within a renderer window of an Electron application that exposes ipcRenderer.invoke wrappers via contextBridge - for example, a desktop app with an embedded browser pane or one that loads remote URLs. The malicious page overrides Function.prototype.bind before the contextBridge Promise handler executes, causing Electron's internal marshalling to leak a reference to the preload world's JS context. The attacker's code then traverses that reference to call any function the preload script exposes, including arbitrary IPC calls; in apps with nodeIntegration enabled or sandboxing disabled, this escalates to full Node.js execution on the host. No public POC has been confirmed at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 05, 2026
Context isolation bypass in Electron allows untrusted web content loaded by an Electron app to escape the contextBridge security boundary and access the isolated preload world - and potentially Node.js - by hijacking Function.prototype.bind on exposed Promise-returning functions. The vulnerability (CVSS 7.5, S:C) affects the standard pattern developers use to wrap ipcRenderer.invoke calls, meaning a wide class of real-world apps is susceptible if they load any untrusted content. No vendor-side workarounds exist; patched releases are available across all active Electron version lines. No public exploit code or CISA KEV listing has been identified at time of analysis.
RemediationAI
The only remediation is upgrading to a patched Electron release: 39.8.9 for the v39 line, 40.9.2 for the v40 line, 41.2.2 for the v41 line, or 42.0.0-beta.5 for the v42 beta track. Electron's security advisory explicitly states there are no app-side workarounds - this must be fixed at the framework level. As a defense-in-depth measure prior to patching, apps can reduce blast radius by ensuring renderers load exclusively trusted first-party content (removing untrusted URLs from renderer windows), enabling the Electron sandbox on all renderer processes, and disabling nodeIntegration where not strictly required - neither of these prevents the contextBridge bypass itself but they limit what an attacker gains post-exploitation. Restricting the capabilities exposed via contextBridge to the minimum required set also reduces the attack surface if exploitation occurs. Advisory and version details: https://github.com/electron/electron/security/advisories/GHSA-h7rp-cf8h-j98x.
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's contextBridge API provides context isolation: it creates a structured clone boundary between the privileged preload script context (which has access to Node.js and ipcRenderer) and the untrusted renderer/web content context. When a preload script exposes a Promise-returning function via contextBridge.exposeInMainWorld, Electron must marshal the Promise across this boundary. The vulnerability stems from a Function.prototype.bind hijack - malicious web content can override or intercept bind in a way that corrupts Electron's internal marshalling logic, allowing the web content's JS execution context to obtain a reference into the preload world's JavaScript context. Once inside the preload world, all capabilities the preload holds are accessible. In renderers with nodeIntegration enabled or without sandbox restrictions, this directly translates to Node.js access. CWE-693 (Protection Mechanism Failure) accurately characterizes the root cause: the contextBridge mechanism itself fails under adversarial JavaScript prototype manipulation. Affected packages are published as npm/electron across versions prior to 39.8.9, 40.9.2, 41.2.2, and 42.0.0-beta.5.
Know when Node.js 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:H/PR:N/UI:N/S:C/C:H/I:L/A:N
AV:N for network-delivered malicious web content; AC:H for dual-condition requirement; S:C and C:H for preload context escape; I:L for IPC call abuse; no availability impact.
Primary rating from Vendor (https://github.com/electron/electron).
CVSS VectorVendor: https://github.com/electron/electron
Lifecycle Timeline
2DescriptionCVE.org
Impact
Apps that expose Promise-returning functions to web content via contextBridge may be vulnerable to a context isolation bypass. Untrusted web content could obtain access to the isolated preload world and, through it, every capability the preload script has. In renderers without a sandbox, or with nodeIntegration enabled, this may escalate to Node.js access.
Apps are affected if they expose Promise-returning functions via contextBridge - the standard pattern for wrapping ipcRenderer.invoke - in windows that load untrusted content. Apps that never load untrusted content in those windows are not affected.
Workarounds
There are no app side workarounds, you must update to a patched version of Electron.
Fixed Versions
42.0.0-beta.541.2.240.9.239.8.9
For more information
If you have any questions or comments about this advisory, email Electron at [security@electronjs.org](mailto:security@electronjs.org)
Articles & Coverage 1
Executive ViewAI
Electron-based applications used in enterprise environments can be compromised through web content injection, allowing attackers to steal data and gain unauthorized system access. This affects the security posture of any organization relying on Electron-built applications and requires immediate patching to prevent data breaches.
Apply vendor patch.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Remote code execution in n8n's workflow expression evaluation system allows an authenticated user with workflow creation
A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could
FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t
Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete
Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc
An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi
Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin
A vulnerability in NuPoint Messenger (NPM) of Mitel MiCollab through 9.8.0.33 allows an unauthenticated attacker to cond
EUVD-2026-53433
GHSA-h7rp-cf8h-j98x
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB