CVE-2023-29198 Context isolation bypass via nested unserializable return value in Electron
Attackers can bypass context isolation in Electron apps to perform privileged actions if exposed APIs return unserializable objects.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2023-29198?
CVE-2023-29198 is a medium-severity vulnerability in Electronjs Electron, published on 6 Sep 2023. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
Electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS. Electron apps using `contextIsolation` and `contextBridge` are affected. This is a context isolation bypass, meaning that code running in the main world context in the renderer can reach into the isolated Electron context and perform privileged actions. This issue is only exploitable if an API exposed to the main world via `contextBridge` can return an object or array that contains a javascript object which cannot be serialized, for instance, a canvas rendering context. This would normally result in an exception being thrown `Error: object could not be cloned`. The app side workaround is to ensure that such a case is not possible. Ensure all values returned from a function exposed over the context bridge are supported. This issue has been fixed in versions `25.0.0-alpha.2`, `24.0.1`, `23.2.3`, and `22.3.6`.
Weakness: CWE-754
Which versions are affected by CVE-2023-29198?
8 open source packages ship an affected version, including electron. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
electron npm | All versions | 22.3.6 |
electron npm | All versions | 22.3.6 |
electron npm | From 23.0.0-alpha.1 | 23.2.3 |
electron npm | From 23.0.0-alpha.1 | 23.2.3 |
electron npm | From 24.0.0-alpha.1 | 24.0.1 |
electron npm | From 24.0.0-alpha.1 | 24.0.1 |
2 more packages
electron npm | From 25.0.0-alpha.1 | 25.0.0-alpha.2 |
electron npm | From 25.0.0-alpha.1 | 25.0.0-alpha.2 |
Products include Electronjs Electron.
How do I fix CVE-2023-29198?
Upgrade electron to a fixed version for your release line: 22.3.6, 23.2.3, 24.0.1 or 25.0.0-alpha.2.
Is CVE-2023-29198 being exploited?
There is no known exploitation of CVE-2023-29198 in the wild and no public exploit code.
Other vulnerabilities in Electronjs Electron
- CVE-2017-16151 Chromium Remote Code Execution in electron
- CVE-2018-1000118 Electron protocol handler browser vulnerable to Command Injection
- CVE-2026-34780 Electron: Context Isolation bypass via contextBridge VideoFrame transfer
- CVE-2026-102676 Electron: <webview> can enable Node.js integration in Web Workers despite embedder restrictions
- CVE-2026-102673 Electron drops inherited HTML sandbox restrictions for popups opened through OpenURLFromTab
Sources
Also known as GHSA-p7v2-p9m8-qqg7.