Electron: Sandboxed iframes can launch external protocol handlers
Published 5 Aug 2026 · Updated 5 Aug 2026
Affected packages
- Affected
- <39.8.8
- Fixed in
- 39.8.8
npm install electron@39.8.8- Affected
- >=40.0.0-alpha.1 <40.9.0
- Fixed in
- 40.9.0
npm install electron@40.9.0- Affected
- >=41.0.0-alpha.1 <41.2.1
- Fixed in
- 41.2.1
npm install electron@41.2.1- Affected
- >=42.0.0-alpha.1 <42.0.0-beta.3
- Fixed in
- 42.0.0-beta.3
npm install electron@42.0.0-beta.3Details
Impact
Requests to open external protocol URLs from web content did not take iframe sandbox restrictions into account, so a sandboxed iframe could cause an OS-registered external application to be launched. The frame's sandbox state was also not made available to the app's permission handlers.
Apps are only affected if they render untrusted content in sandboxed iframes and grant the openExternal permission (granted by default when no setPermissionRequestHandler is installed). Apps whose permission handler denies openExternal for untrusted content are not affected.
Workarounds
Install a setPermissionRequestHandler that denies the openExternal permission for untrusted content.
Fixed Versions
42.0.0-beta.341.2.140.9.039.8.8
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-p2rr-rvmm-c5fp 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-p2rr-rvmm-c5fp
- Linkgithub.com/electron/electron/pull/50961
- Linkgithub.com/electron/electron/pull/50962
- Linkgithub.com/electron/electron/pull/50963
- Linkgithub.com/electron/electron/pull/50964
- Linkgithub.com/electron/electron/commit/08b9d0a220e267d1a2402a44bdd01a2e9aa320b5
- Linkgithub.com/electron/electron/commit/2764e4c35168855f614876051823db4f58a3714a
- Linkgithub.com/electron/electron/commit/477dcf7afc6550715f9ec5e6f39ee38e5dd7bf39
- Linkgithub.com/electron/electron/commit/c39e3d5687d57434c8d5fe814c5152efd2f631c3
- Packagegithub.com/electron/electron
- Linkgithub.com/electron/electron/releases/tag/v39.8.8
- Linkgithub.com/electron/electron/releases/tag/v40.9.0
- Linkgithub.com/electron/electron/releases/tag/v41.2.1
- Linkgithub.com/electron/electron/releases/tag/v42.0.0-beta.3
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.