Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| electron | electron | < 38.8.6, >= 39.0.0-alpha.1, < 39.8.1, >= 40.0.0-alpha.1, < 40.8.1, >= 41.0.0-alpha.1, < 41.0.0 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| npm | electron | < 38.8.6 | 38.8.6 | GHSA-xj5x-m3f3-5x3h |
| npm | electron | >= 39.0.0-alpha.1, < 39.8.1 | 39.8.1 | GHSA-xj5x-m3f3-5x3h |
| npm | electron | >= 40.0.0-alpha.1, < 40.8.1 | 40.8.1 | GHSA-xj5x-m3f3-5x3h |
| npm | electron | >= 41.0.0-alpha.1, < 41.0.0 | 41.0.0 | GHSA-xj5x-m3f3-5x3h |