First published: Mon Jun 13 2022(Updated: )
Electron is a framework for writing cross-platform desktop applications using JavaScript (JS), HTML, and CSS. A vulnerability in versions prior to 18.0.0-beta.6, 17.2.0, 16.2.6, and 15.5.5 allows a renderer with JS execution to obtain access to a new renderer process with `nodeIntegrationInSubFrames` enabled which in turn allows effective access to `ipcRenderer`. The `nodeIntegrationInSubFrames` option does not implicitly grant Node.js access. Rather, it depends on the existing sandbox setting. If an application is sandboxed, then `nodeIntegrationInSubFrames` just gives access to the sandboxed renderer APIs, which include `ipcRenderer`. If the application then additionally exposes IPC messages without IPC `senderFrame` validation that perform privileged actions or return confidential data this access to `ipcRenderer` can in turn compromise your application / user even with the sandbox enabled. Electron versions 18.0.0-beta.6, 17.2.0, 16.2.6, and 15.5.5 contain a fix for this issue. As a workaround, ensure that all IPC message handlers appropriately validate `senderFrame`.
Credit: security-advisories@github.com
Affected Software | Affected Version | How to fix |
---|---|---|
Electronjs Electron | <15.5.5 | |
Electronjs Electron | >=16.0.1<16.2.6 | |
Electronjs Electron | >=17.0.1<17.2.0 | |
Electronjs Electron | =16.0.0-beta1 | |
Electronjs Electron | =16.0.0-beta2 | |
Electronjs Electron | =16.0.0-beta3 | |
Electronjs Electron | =16.0.0-beta4 | |
Electronjs Electron | =16.0.0-beta5 | |
Electronjs Electron | =16.0.0-beta6 | |
Electronjs Electron | =16.0.0-beta7 | |
Electronjs Electron | =16.0.0-beta8 | |
Electronjs Electron | =16.0.0-beta9 | |
Electronjs Electron | =17.0.0-beta1 | |
Electronjs Electron | =17.0.0-beta2 | |
Electronjs Electron | =17.0.0-beta3 | |
Electronjs Electron | =17.0.0-beta4 | |
Electronjs Electron | =17.0.0-beta5 | |
Electronjs Electron | =17.0.0-beta6 | |
Electronjs Electron | =17.0.0-beta7 | |
Electronjs Electron | =17.0.0-beta8 | |
Electronjs Electron | =17.0.0-beta9 | |
Electronjs Electron | =18.0.0-beta1 | |
Electronjs Electron | =18.0.0-beta2 | |
Electronjs Electron | =18.0.0-beta3 | |
Electronjs Electron | =18.0.0-beta4 | |
Electronjs Electron | =18.0.0-beta5 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
Electron is a framework for writing cross-platform desktop applications using JavaScript (JS), HTML, and CSS.
The vulnerability ID of this Electron vulnerability is CVE-2022-29247.
The severity of CVE-2022-29247 is critical with a severity value of 9.8.
CVE-2022-29247 allows a renderer with JS execution to obtain access to a new renderer process through `nodeIntegrationInSubFrames`.
To fix CVE-2022-29247, update to versions 18.0.0-beta.6, 17.2.0, 16.2.6, or 15.5.5 of Electron.