GHSA-ff2p-hmqr-hxm4: Medium severity npm/electron vulnerability
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.4 41.2.2 40.9.2 39.8.9
For more information If you have any questions or comments about this advisory, email Electron at security@electronjs.org
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
npm/electronto a version that resolves this vulnerability.Fixed in 42.0.0-beta.4 - Upgrade
Upgrade
npm/electronto a version that resolves this vulnerability.Fixed in 41.2.2 - Upgrade
Upgrade
npm/electronto a version that resolves this vulnerability.Fixed in 40.9.2 - Upgrade
Upgrade
npm/electronto a version that resolves this vulnerability.Fixed in 39.8.9 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 39.8.9 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 40.9.2 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 41.2.2 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 42.0.0-beta.4 - Configuration
In preload code, validate objects received from untrusted content with own-property checks (e.g., Object.hasOwn). Alternatively, copy attacker-influenced objects onto a null-prototype object before reading properties.
Electron preload code (contextBridge boundary handling) own-property checks for objects from untrusted content = Use Object.hasOwn (or equivalent own-property checks) / copy to a null-prototype object before use