Executive brief
Electron, a framework used to build desktop applications with web technologies, contains a vulnerability in how it handles data passed between untrusted web content and the application's internal code. An attacker could potentially manipulate the way objects are processed to bypass security boundaries, leading to unauthorized actions within the application. This issue primarily affects applications that process complex data objects from untrusted sources without strict validation.
Technical details
A prototype pollution vulnerability exists in Electron's contextBridge. When objects are copied across the contextBridge boundary from untrusted content, the copying process incorrectly honors prototype setters. This allows an attacker to influence the prototype of objects in the privileged preload script, even when context isolation is enabled. The vulnerability is exploitable if the preload code accepts object arguments from untrusted content and accesses their properties without performing own-property checks (e.g., Object.hasOwn). The fix involves using CreateDataProperty during the object copying process to ensure properties are defined directly on the target object rather than triggering setters.
Affected products
- Electron electron < 39.8.9, >= 40.0.0-alpha.1, < 40.9.2, >= 41.0.0-alpha.1, < 41.2.2, >= 42.0.0-alpha.1, < 42.0.0-beta.4
Timeline
- 2026-04-16: patched: Fixes merged into various release branches
- 2026-07-27: disclosed
- 2026-08-05: advisory
References
- https://github.com/electron/electron/security/advisories/GHSA-ff2p-hmqr-hxm4
- https://github.com/electron/electron/pull/51083
- https://github.com/electron/electron/pull/51084
- https://github.com/electron/electron/pull/51085
- https://github.com/electron/electron/pull/51086
- https://github.com/electron/electron/commit/17d5d26499cd279fab48f5f26527f8edc02a7713