GHSA-xj5x-m3f3-5x3h · Severity: medium · Ecosystem: npm — Electron: Service worker can spoof executeJavaScript IPC replies
Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to versions 38.8.6, 39.8.1, 40.8.1, and 41.0.0, a service worker running in a session could spoof reply messages on the internal IPC channel used by webContents.executeJavaScript() and related methods, causing the main-process promise to resolve with attacker-controlled data. Apps are only affected if they have service workers registered and use the result of webContents.executeJavaScript() (or webFrameMain.executeJavaScript()) in security-sensitive decisions. This issue has been patched in versions 38.8.6, 39.8.1, 40.8.1, and 41.0.0.
Conclusion & alert: CVE-2026-34778 is rated Low Risk (24.4/100): CVSS Medium severity, with low exploitation likelihood (EPSS 0.01%). Mandatory action: Monitor for updates and reassess as exploit intelligence or EPSS changes.
Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.
EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).
| # | Date | Old EPSS score | New EPSS score | Delta (New - Old) |
|---|---|---|---|---|
| 1 | 2026-04-04 | — | 0.01% | — |
Full EPSS history (1 record total)
CVSS metrics for this CVE.
| Base score | Version | Severity | Vector | Exploitability | Impact | Score source |
|---|---|---|---|---|---|---|
| 5.9 | 3.1 | MEDIUM |
|
1.6 | 4.2 | [email protected] |
| 6.5 | 3.1 | MEDIUM |
|
2.8 | 3.6 | [email protected] |
GHSA-xj5x-m3f3-5x3h · Severity: medium · Ecosystem: npm — Electron: Service worker can spoof executeJavaScript IPC replies
| vendor | priority | summary | link |
|---|---|---|---|
redhat
|
medium | — | https://access.redhat.com/security/cve/CVE-2026-34778 |
| Vendor | Product | Version | Raw CPE |
|---|---|---|---|
| electronjs | electron | < 38.8.6 | cpe:2.3:a:electronjs:electron:*:*:*:*:*:node.js:*:* |
| electronjs | electron | >= 39.0.0, < 39.8.1 | cpe:2.3:a:electronjs:electron:*:*:*:*:*:node.js:*:* |
| electronjs | electron | >= 40.0.0, < 40.8.1 | cpe:2.3:a:electronjs:electron:*:*:*:*:*:node.js:*:* |
| electronjs | electron | 41.0.0 | cpe:2.3:a:electronjs:electron:41.0.0:alpha1:*:*:*:node.js:*:* |
| electronjs | electron | 41.0.0 | cpe:2.3:a:electronjs:electron:41.0.0:alpha2:*:*:*:node.js:*:* |
| electronjs | electron | 41.0.0 | cpe:2.3:a:electronjs:electron:41.0.0:alpha3:*:*:*:node.js:*:* |
| electronjs | electron | 41.0.0 | cpe:2.3:a:electronjs:electron:41.0.0:alpha4:*:*:*:node.js:*:* |
| electronjs | electron | 41.0.0 | cpe:2.3:a:electronjs:electron:41.0.0:alpha5:*:*:*:node.js:*:* |
| electronjs | electron | 41.0.0 | cpe:2.3:a:electronjs:electron:41.0.0:alpha6:*:*:*:node.js:*:* |
| electronjs | electron | 41.0.0 | cpe:2.3:a:electronjs:electron:41.0.0:beta1:*:*:*:node.js:*:* |
| electronjs | electron | 41.0.0 | cpe:2.3:a:electronjs:electron:41.0.0:beta2:*:*:*:node.js:*:* |
| electronjs | electron | 41.0.0 | cpe:2.3:a:electronjs:electron:41.0.0:beta3:*:*:*:node.js:*:* |
| electronjs | electron | 41.0.0 | cpe:2.3:a:electronjs:electron:41.0.0:beta4:*:*:*:node.js:*:* |
| electronjs | electron | 41.0.0 | cpe:2.3:a:electronjs:electron:41.0.0:beta5:*:*:*:node.js:*:* |
| electronjs | electron | 41.0.0 | cpe:2.3:a:electronjs:electron:41.0.0:beta6:*:*:*:node.js:*:* |
| electronjs | electron | 41.0.0 | cpe:2.3:a:electronjs:electron:41.0.0:beta7:*:*:*:node.js:*:* |
| electronjs | electron | 41.0.0 | cpe:2.3:a:electronjs:electron:41.0.0:beta8:*:*:*:node.js:*:* |
| URL | Tags |
|---|---|
| https://github.com/electron/electron/security/advisories/GHSA-xj5x-m3f3-5x3h | Vendor Advisory |