CVE-2026-34774: Electron: Use-after-free in offscreen child window paint callback
Impact Apps that use offscreen rendering and allow child windows via window.open() may be vulnerable to a use-after-free. If the parent offscreen WebContents is destroyed while a child window remains open, subsequent paint frames on the child dereference freed memory, which may lead to a crash or memory corruption.
Apps are only affected if they use offscreen rendering (webPreferences.offscreen: true) and their setWindowOpenHandler permits child windows. Apps that do not use offscreen rendering, or that deny child windows, are not affected.
Workarounds Deny child window creation from offscreen renderers in your setWindowOpenHandler, or ensure child windows are closed before the parent is destroyed.
Fixed Versions 41.0.0 40.7.0 39.8.1
For more information If there are any questions or comments about this advisory, please email security@electronjs.org
Other sources
Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to versions 39.8.1, 40.7.0, and 41.0.0, apps that use offscreen rendering and allow child windows via window.open() may be vulnerable to a use-after-free. If the parent offscreen WebContents is destroyed while a child window remains open, subsequent paint frames on the child dereference freed memory, which may lead to a crash or memory corruption. Apps are only affected if they use offscreen rendering (webPreferences.offscreen: true) and their setWindowOpenHandler permits child windows. Apps that do not use offscreen rendering, or that deny child windows, are not affected. This issue has been patched in versions 39.8.1, 40.7.0, and 41.0.0.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
npm/electronto a version that resolves this vulnerability.Fixed in 41.0.0 - Upgrade
Upgrade
npm/electronto a version that resolves this vulnerability.Fixed in 40.7.0 - Upgrade
Upgrade
npm/electronto a version that resolves this vulnerability.Fixed in 39.8.1 - Upgrade
Upgrade
Electronto a version that resolves this vulnerability.Fixed in 39.8.1 - Upgrade
Upgrade
Electronto a version that resolves this vulnerability.Fixed in 40.7.0 - Upgrade
Upgrade
Electronto a version that resolves this vulnerability.Fixed in 41.0.0 - Configuration
In your setWindowOpenHandler, deny child window creation from offscreen renderers (apps are only affected when webPreferences.offscreen: true and the handler permits child windows).
Electron (setWindowOpenHandler) Child window creation from offscreen renderers = Deny child window creation (return/deny in setWindowOpenHandler when webPreferences.offscreen is true) - Operational
If you allow child windows from an offscreen renderer, ensure child windows are closed before the parent is destroyed to avoid the use-after-free scenario.