Context isolation bypass via contextBridge in Electron
Priority MEDIUM 44CWE-501Published · Updated
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · NVD. Fix status from CNA and GitHub.
Summary
In Electron before versions 7.2.4, 8.2.4, and 9.0.0-beta21, there is a context isolation bypass. Code running in the main world context in the renderer can reach into the isolated Electron context and perform privileged actions. Apps using both `contextIsolation` and `contextBridge` are affected. This is fixed in versions 9.0.0-beta.21, 8.2.4 and 7.2.4.
Why it matters now
EPSS 0.01003 63rd percentileScored 2026-11-07
Fix Fixed electron (electron): 8.2.4, 7.2.4electron (npm): 7.2.4, 8.2.4
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| electron | electron | 9.0.0-beta.0 – 9.0.0-beta.20; 8.0.0 to before 8.2.4; before 7.2.4 | 8.2.4, 7.2.4 | Patch available | CNA |
| — | electron (npm) | before 7.2.4 | 7.2.4 | Patch available | GHSA-h9jc-284h-533g |
| — | electron (npm) | 8.0.0 to before 8.2.4 | 8.2.4 | Patch available | GHSA-h9jc-284h-533g |
- electron Vendorelectron Affected 9.0.0-beta.0 – 9.0.0-beta.20; 8.0.0 to before 8.2.4; before 7.2.4 Fixed in 8.2.4, 7.2.4 Patch available CNA
- electron (npm) Vendor— Affected before 7.2.4 Fixed in 7.2.4 Patch available GHSA-h9jc-284h-533g
- electron (npm) Vendor— Affected 8.0.0 to before 8.2.4 Fixed in 8.2.4 Patch available GHSA-h9jc-284h-533g
CPE configurations NVD · 22
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:electronjs:electron:*:*:*:*:*:*:*:* | 7.0.0 to before 7.2.4; 8.0.0 to before 8.2.4 | Vulnerable | Electronjs |
| cpe:2.3:a:electronjs:electron:9.0.0:-:*:*:*:*:*:* | 9.0.0 | Vulnerable | Electronjs |
| cpe:2.3:a:electronjs:electron:9.0.0:beta1:*:*:*:*:*:* | 9.0.0 beta1 | Vulnerable | Electronjs |
| cpe:2.3:a:electronjs:electron:9.0.0:beta10:*:*:*:*:*:* | 9.0.0 beta10 | Vulnerable | Electronjs |
| cpe:2.3:a:electronjs:electron:9.0.0:beta11:*:*:*:*:*:* | 9.0.0 beta11 | Vulnerable | Electronjs |
| cpe:2.3:a:electronjs:electron:9.0.0:beta12:*:*:*:*:*:* | 9.0.0 beta12 | Vulnerable | Electronjs |
| cpe:2.3:a:electronjs:electron:9.0.0:beta13:*:*:*:*:*:* | 9.0.0 beta13 | Vulnerable | Electronjs |
| cpe:2.3:a:electronjs:electron:9.0.0:beta14:*:*:*:*:*:* | 9.0.0 beta14 | Vulnerable | Electronjs |
| cpe:2.3:a:electronjs:electron:9.0.0:beta15:*:*:*:*:*:* | 9.0.0 beta15 | Vulnerable | Electronjs |
| cpe:2.3:a:electronjs:electron:9.0.0:beta16:*:*:*:*:*:* | 9.0.0 beta16 | Vulnerable | Electronjs |
- cpe:2.3:a:electronjs:electron:*:*:*:*:*:*:*:* Versions 7.0.0 to before 7.2.4; 8.0.0 to before 8.2.4 Vulnerable ·Electronjs
- cpe:2.3:a:electronjs:electron:9.0.0:-:*:*:*:*:*:* Versions 9.0.0 Vulnerable ·Electronjs
- cpe:2.3:a:electronjs:electron:9.0.0:beta1:*:*:*:*:*:* Versions 9.0.0 beta1 Vulnerable ·Electronjs
- cpe:2.3:a:electronjs:electron:9.0.0:beta10:*:*:*:*:*:* Versions 9.0.0 beta10 Vulnerable ·Electronjs
- cpe:2.3:a:electronjs:electron:9.0.0:beta11:*:*:*:*:*:* Versions 9.0.0 beta11 Vulnerable ·Electronjs
- cpe:2.3:a:electronjs:electron:9.0.0:beta12:*:*:*:*:*:* Versions 9.0.0 beta12 Vulnerable ·Electronjs
- cpe:2.3:a:electronjs:electron:9.0.0:beta13:*:*:*:*:*:* Versions 9.0.0 beta13 Vulnerable ·Electronjs
- cpe:2.3:a:electronjs:electron:9.0.0:beta14:*:*:*:*:*:* Versions 9.0.0 beta14 Vulnerable ·Electronjs
- cpe:2.3:a:electronjs:electron:9.0.0:beta15:*:*:*:*:*:* Versions 9.0.0 beta15 Vulnerable ·Electronjs
- cpe:2.3:a:electronjs:electron:9.0.0:beta16:*:*:*:*:*:* Versions 9.0.0 beta16 Vulnerable ·Electronjs
Show 12 more CPE
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:electronjs:electron:9.0.0:beta17:*:*:*:*:*:* | 9.0.0 beta17 | Vulnerable | Electronjs |
| cpe:2.3:a:electronjs:electron:9.0.0:beta18:*:*:*:*:*:* | 9.0.0 beta18 | Vulnerable | Electronjs |
| cpe:2.3:a:electronjs:electron:9.0.0:beta19:*:*:*:*:*:* | 9.0.0 beta19 | Vulnerable | Electronjs |
| cpe:2.3:a:electronjs:electron:9.0.0:beta2:*:*:*:*:*:* | 9.0.0 beta2 | Vulnerable | Electronjs |
| cpe:2.3:a:electronjs:electron:9.0.0:beta20:*:*:*:*:*:* | 9.0.0 beta20 | Vulnerable | Electronjs |
| cpe:2.3:a:electronjs:electron:9.0.0:beta3:*:*:*:*:*:* | 9.0.0 beta3 | Vulnerable | Electronjs |
| cpe:2.3:a:electronjs:electron:9.0.0:beta4:*:*:*:*:*:* | 9.0.0 beta4 | Vulnerable | Electronjs |
| cpe:2.3:a:electronjs:electron:9.0.0:beta5:*:*:*:*:*:* | 9.0.0 beta5 | Vulnerable | Electronjs |
| cpe:2.3:a:electronjs:electron:9.0.0:beta6:*:*:*:*:*:* | 9.0.0 beta6 | Vulnerable | Electronjs |
| cpe:2.3:a:electronjs:electron:9.0.0:beta7:*:*:*:*:*:* | 9.0.0 beta7 | Vulnerable | Electronjs |
| cpe:2.3:a:electronjs:electron:9.0.0:beta8:*:*:*:*:*:* | 9.0.0 beta8 | Vulnerable | Electronjs |
| cpe:2.3:a:electronjs:electron:9.0.0:beta9:*:*:*:*:*:* | 9.0.0 beta9 | Vulnerable | Electronjs |
- cpe:2.3:a:electronjs:electron:9.0.0:beta17:*:*:*:*:*:* Versions 9.0.0 beta17 Vulnerable ·Electronjs
- cpe:2.3:a:electronjs:electron:9.0.0:beta18:*:*:*:*:*:* Versions 9.0.0 beta18 Vulnerable ·Electronjs
- cpe:2.3:a:electronjs:electron:9.0.0:beta19:*:*:*:*:*:* Versions 9.0.0 beta19 Vulnerable ·Electronjs
- cpe:2.3:a:electronjs:electron:9.0.0:beta2:*:*:*:*:*:* Versions 9.0.0 beta2 Vulnerable ·Electronjs
- cpe:2.3:a:electronjs:electron:9.0.0:beta20:*:*:*:*:*:* Versions 9.0.0 beta20 Vulnerable ·Electronjs
- cpe:2.3:a:electronjs:electron:9.0.0:beta3:*:*:*:*:*:* Versions 9.0.0 beta3 Vulnerable ·Electronjs
- cpe:2.3:a:electronjs:electron:9.0.0:beta4:*:*:*:*:*:* Versions 9.0.0 beta4 Vulnerable ·Electronjs
- cpe:2.3:a:electronjs:electron:9.0.0:beta5:*:*:*:*:*:* Versions 9.0.0 beta5 Vulnerable ·Electronjs
- cpe:2.3:a:electronjs:electron:9.0.0:beta6:*:*:*:*:*:* Versions 9.0.0 beta6 Vulnerable ·Electronjs
- cpe:2.3:a:electronjs:electron:9.0.0:beta7:*:*:*:*:*:* Versions 9.0.0 beta7 Vulnerable ·Electronjs
- cpe:2.3:a:electronjs:electron:9.0.0:beta8:*:*:*:*:*:* Versions 9.0.0 beta8 Vulnerable ·Electronjs
- cpe:2.3:a:electronjs:electron:9.0.0:beta9:*:*:*:*:*:* Versions 9.0.0 beta9 Vulnerable ·Electronjs
Remediation
- Fix · CNA electron (electron) Fixed in 8.2.4, 7.2.4
- Fix · GHSA-h9jc-284h-533g electron (npm) Fixed in 7.2.4 Advisory →
- Fix · GHSA-h9jc-284h-533g electron (npm) Fixed in 8.2.4 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2020-4077
- 2026-10-03 Alias added: GHSA-h9jc-284h-533g
References
More electron vulnerabilities
- TI-2026-39496 Information disclosure in electron-builder CVSS 4.0HIGH 8.2
- TI-2024-26621 Code Signing Bypass on Windows in electron-updater < 6.3.0-alpha.6 CVSS 3.1HIGH 7.5
- TI-2023-09452 Content-Secrity-Policy disabling eval not applied consistently in renderers with sandbox disabled in Electron CVSS 3.1CRITICAL 9.8
- TI-2026-39157 Electron: Buffer performs incorrect byte length calculations resulting in heap buffer under/overflow CVSS 4.0CRITICAL 9.3
- TI-2017-09308 GitHub Electron before 1.6.8 allows remote command execution because of a nodeIntegration… CVSS 3.0HIGH 8.1
- TI-2022-11788 Exposure of Resource to Wrong Sphere in Electron CVSS 3.1CRITICAL 9.8
Sources
- CVE-2020-4077 · CVE Program
- CVE-2020-4077 · NVD
- FIRST EPSS
- GHSA-h9jc-284h-533g · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences