{"id":"GHSA-9f4c-93c8-jc8g","summary":"Electron: Sandboxed iframe can bypass the allow-popups restriction via the OpenURL navigation path","details":"### Impact\nA sandboxed iframe without the `allow-popups` keyword could still open a new window (or trigger `setWindowOpenHandler`) with no user interaction, because new-window navigations taking the OpenURL path did not apply the iframe sandbox popup restriction.\n\nApps that embed untrusted content in sandboxed iframes and rely on the absence of `allow-popups` to prevent window creation are affected. Apps that deny window creation in `setWindowOpenHandler`, or that do not embed untrusted content in sandboxed iframes, are not affected.\n\n### Workarounds\nReturn `{ action: 'deny' }` from `setWindowOpenHandler` for any content you do not trust, rather than relying on the iframe sandbox alone.\n\n### Fixed Versions\n* `42.0.1`\n* `41.10.3`\n* `39.8.10`\n\n### For more information\nIf you have any questions or comments about this advisory, email Electron at [security@electronjs.org](mailto:security@electronjs.org)","aliases":["CVE-2026-70608"],"modified":"2026-08-20T05:15:07.151820521Z","published":"2026-08-05T17:27:18Z","database_specific":{"severity":"HIGH","github_reviewed":true,"github_reviewed_at":"2026-08-05T17:27:18Z","nvd_published_at":null,"cwe_ids":["CWE-1021","CWE-693"]},"references":[{"type":"WEB","url":"https://github.com/electron/electron/security/advisories/GHSA-9f4c-93c8-jc8g"},{"type":"WEB","url":"https://github.com/electron/electron/pull/51437"},{"type":"WEB","url":"https://github.com/electron/electron/pull/51438"},{"type":"WEB","url":"https://github.com/electron/electron/pull/51439"},{"type":"WEB","url":"https://github.com/electron/electron/commit/3ff23c52ab364a0afc6ab5bd7851291d3159de57"},{"type":"WEB","url":"https://github.com/electron/electron/commit/57cbe329c4ae8aab5ac5ebdcb588adc9a11de0d3"},{"type":"WEB","url":"https://github.com/electron/electron/commit/68cf8b7d9122260f6b534a69a82c701a56cf159f"},{"type":"PACKAGE","url":"https://github.com/electron/electron"},{"type":"WEB","url":"https://github.com/electron/electron/releases/tag/v39.8.10"},{"type":"WEB","url":"https://github.com/electron/electron/releases/tag/v41.10.3"},{"type":"WEB","url":"https://github.com/electron/electron/releases/tag/v42.0.1"}],"affected":[{"package":{"name":"electron","ecosystem":"npm","purl":"pkg:npm/electron"},"ranges":[{"type":"SEMVER","events":[{"introduced":"42.0.0-alpha.1"},{"fixed":"42.0.1"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/08/GHSA-9f4c-93c8-jc8g/GHSA-9f4c-93c8-jc8g.json"}},{"package":{"name":"electron","ecosystem":"npm","purl":"pkg:npm/electron"},"ranges":[{"type":"SEMVER","events":[{"introduced":"40.0.0-alpha.1"},{"fixed":"41.10.3"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/08/GHSA-9f4c-93c8-jc8g/GHSA-9f4c-93c8-jc8g.json"}},{"package":{"name":"electron","ecosystem":"npm","purl":"pkg:npm/electron"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"39.8.10"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/08/GHSA-9f4c-93c8-jc8g/GHSA-9f4c-93c8-jc8g.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N"}]}