Electron: openExternal permission requests can be attributed to the wrong origin
What fixes it
- 42.11.3electron, npmGitHub
npm install electron@42.11.3 - 43.7.0electron, npmGitHub
npm install electron@43.7.0 - 44.3.0electron, npmGitHub
npm install electron@44.3.0 - 45.0.0-alpha.5electron, npmGitHub
npm install electron@45.0.0-alpha.5
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
Impact
Requests to open external protocol URLs could be attributed to a document other than the one that asked for them, so the requestingUrl passed to session.setPermissionRequestHandler was a trusted origin for a launch untrusted content had requested. An origin-based handler could therefore let untrusted content launch an OS-registered external application.
Apps are only affected if they grant openExternal based on the requesting origin and let untrusted content open or navigate windows. Apps whose permission handler denies openExternal for untrusted content are not affected.
Workarounds
Deny the openExternal permission for untrusted content, or deny the windows it opens with setWindowOpenHandler.
Fixed Versions
45.0.0-alpha.544.3.043.7.042.11.3
For more information
If you have any questions or comments about this advisory, email us at [security@electronjs.org](mailto:security@electronjs.org)
Text from GitHub Advisory Database
Affected versions 12
- electron, npm< 42.11.3GitHub
- electron, npm>= 43.0.0-alpha.1, < 43.7.0GitHub
- electron, npm>= 44.0.0-alpha.1, < 44.3.0GitHub
- electron, npm>= 45.0.0-alpha.1, < 45.0.0-alpha.5GitHub
- electronaffected: < 42.11.3CVE List
- electronaffected: >= 43.0.0-alpha.1, < 43.7.0CVE List
- electronaffected: >= 44.0.0-alpha.1, < 44.3.0CVE List
- electronaffected: >= 45.0.0-alpha.1, < 45.0.0-alpha.5CVE List
- electron, npmfrom first release, fixed in 42.11.3OSV
- electron, npmfrom 43.0.0-alpha.1, fixed in 43.7.0OSV
- electron, npmfrom 44.0.0-alpha.1, fixed in 44.3.0OSV
- electron, npmfrom 45.0.0-alpha.1, fixed in 45.0.0-alpha.5OSV
References 17
- github.com/electron/electron/commit/25057643bf6d9a20bad69e45707551ccf546f5ceFixvia CVE List
- github.com/electron/electron/commit/8aa5414f73792ed3b2e3f9ab6391b1832e6dc2c3Fixvia CVE List
- github.com/electron/electron/commit/92a783952891805f2f82f344c40a6917b98a7d98Fixvia CVE List
- github.com/electron/electron/commit/e0a20d5277b567aea8603f8e9852a4341407a586Fixvia CVE List
- github.com/electron/electron/commit/e3a400911084537bce7380ffea8af939572ce8ddFixvia CVE List
- github.com/electron/electron/releases/tag/v42.11.3Fixvia CVE List
- github.com/electron/electron/releases/tag/v43.7.0Fixvia CVE List
- github.com/electron/electron/releases/tag/v44.3.0Fixvia CVE List
- github.com/electron/electron/releases/tag/v45.0.0-alpha.5Fixvia CVE List
- github.com/electron/electron/security/advisories/GHSA-997q-gvvc-jwmxAdvisoryvia CVE List
- github.com/advisories/GHSA-997q-gvvc-jwmxAdvisoryvia GitHub
- nvd.nist.gov/vuln/detail/CVE-2026-114121Referencevia GitHub
- github.com/electron/electron/pull/53682Referencevia CVE List
- github.com/electron/electron/pull/53696Referencevia CVE List
- github.com/electron/electron/pull/53697Referencevia CVE List
- github.com/electron/electron/pull/53698Referencevia CVE List
- github.com/electron/electron/pull/53699Referencevia CVE List