GHSA-v3j7-r9gq-3gjw: High severity npm/electron vulnerability
Impact A custom scheme registered with supportFetchAPI: true but without corsEnabled: true was not subject to CORS enforcement. A page loaded from a remote origin could therefore fetch() or XMLHttpRequest that scheme cross-origin and read the full response body, rather than the read being blocked.
Apps that serve sensitive data from such a scheme and load remote or untrusted content in a renderer are affected. Apps that set corsEnabled: true, or that do not load untrusted content, are not affected.
Workarounds Set corsEnabled: true on schemes that must enforce CORS, and validate the request Origin in your protocol handler before returning sensitive data.
Fixed Versions 42.0.0 41.4.0 40.9.3 39.8.10
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 39.8.10 - Upgrade
Upgrade
npm/electronto a version that resolves this vulnerability.Fixed in 40.9.3 - Upgrade
Upgrade
npm/electronto a version that resolves this vulnerability.Fixed in 41.4.0 - Upgrade
Upgrade
npm/electronto a version that resolves this vulnerability.Fixed in 42.0.0 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 39.8.10 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 40.9.3 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 41.4.0 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 42.0.0 - Configuration
For any custom scheme registered with supportFetchAPI: true, set corsEnabled: true so the scheme is subject to CORS enforcement.
Electron scheme registration (custom protocol handler) supportFetchAPI / corsEnabled = Set corsEnabled: true (when supportFetchAPI: true is used) - Configuration
In your protocol handler, validate the request Origin before returning any sensitive data.
Electron protocol handler for the custom scheme Origin validation = Validate the request Origin before returning sensitive data