Electron: contextBridge object copy honors prototype setters
Published 5 Aug 2026 · Updated 5 Aug 2026
Affected packages
- Affected
- <39.8.9
- Fixed in
- 39.8.9
npm install electron@39.8.9- Affected
- >=40.0.0-alpha.1 <40.9.2
- Fixed in
- 40.9.2
npm install electron@40.9.2- Affected
- >=41.0.0-alpha.1 <41.2.2
- Fixed in
- 41.2.2
npm install electron@41.2.2- Affected
- >=42.0.0-alpha.1 <42.0.0-beta.4
- Fixed in
- 42.0.0-beta.4
npm install electron@42.0.0-beta.4Details
Impact
Objects copied across the contextBridge boundary from untrusted content could carry an attacker-influenced prototype, enabling prototype-pollution-style attacks against preload code despite context isolation being enabled.
Apps are only affected if their preload code accepts object arguments from untrusted content and reads properties from them without own-property checks. Apps that only accept primitive arguments, or that validate object arguments, are not affected.
Workarounds
Validate objects received from untrusted content with own-property checks (Object.hasOwn), or copy them onto a null-prototype object before use.
Fixed Versions
42.0.0-beta.441.2.240.9.239.8.9
For more information
If you have any questions or comments about this advisory, email Electron at [security@electronjs.org](mailto:security@electronjs.org)
Is GHSA-ff2p-hmqr-hxm4 in any of your client repos?
Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected electron, and gives you the command that fixes it.
References
- Linkgithub.com/electron/electron/security/advisories/GHSA-ff2p-hmqr-hxm4
- Linkgithub.com/electron/electron/pull/51083
- Linkgithub.com/electron/electron/pull/51084
- Linkgithub.com/electron/electron/pull/51085
- Linkgithub.com/electron/electron/pull/51086
- Linkgithub.com/electron/electron/commit/17d5d26499cd279fab48f5f26527f8edc02a7713
- Linkgithub.com/electron/electron/commit/23a6efb714dec80e2cf45d3054d18d701162e4dd
- Linkgithub.com/electron/electron/commit/4ac50292d552fb510eb778392620c85308770a55
- Linkgithub.com/electron/electron/commit/5b699544cbbed51bedb7c60d75c8c42be5825737
- Packagegithub.com/electron/electron
- Linkgithub.com/electron/electron/releases/tag/v39.8.9
- Linkgithub.com/electron/electron/releases/tag/v40.9.2
- Linkgithub.com/electron/electron/releases/tag/v41.2.2
- Linkgithub.com/electron/electron/releases/tag/v42.0.0-beta.4
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.