Executive brief
Electron is a popular framework used to build desktop applications like Slack, Discord, and VS Code. A security flaw exists where certain background tasks (workers) could gain unauthorized access to powerful system-level features (Node.js integration) even when specifically restricted. If exploited, this could allow malicious content within the app to bypass security boundaries and potentially access sensitive user data or system resources.
Technical details
An improper isolation vulnerability (CWE-653) exists in Electron's webPreferences handling. The 'nodeIntegrationInWorker' setting was not correctly scoped in scenarios where multiple frames share the same renderer process. Consequently, workers spawned in frames where 'nodeIntegrationInWorker' was explicitly set to false could still inherit Node.js integration if the parent or a sibling frame enabled it. An attacker who can execute code in a restricted frame might leverage this to gain full Node.js access, leading to remote code execution or data exfiltration. The issue is patched in versions 38.8.6, 39.8.4, 40.8.4, and 41.0.0.
Affected products
- ElectronJS Electron < 38.8.6, >= 39.0.0-alpha.1 < 39.8.4, >= 40.0.0-alpha.1 < 40.8.4, >= 41.0.0-alpha.1 < 41.0.0
Timeline
- 2026-04-02: advisory: GitHub Security Advisory published
- 2026-04-03: disclosed: NVD publication date