{"api_version":"1","generated_at":"2026-08-05T20:40:40+00:00","cve":"CVE-2026-70612","urls":{"html":"https://cve.report/CVE-2026-70612","api":"https://cve.report/api/cve/CVE-2026-70612.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-70612","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-70612"},"summary":{"title":"Electron: Sandboxed iframes can launch external protocol handlers","description":"Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to 39.8.8, 40.9.0, 41.2.1, and 42.0.0-beta.3, 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 sandbox state was also not made available to the app permission handlers, affecting apps that render untrusted content in sandboxed iframes and grant the openExternal permission by default when no setPermissionRequestHandler is installed. This issue is fixed in 39.8.8, 40.9.0, 41.2.1, and 42.0.0-beta.3.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-08-05 19:17:41","updated_at":"2026-08-05 20:17:17"},"problem_types":["CWE-284","CWE-284 CWE-284: Improper Access Control"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"5.4","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N","baseScore":5.4,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"NONE","userInteraction":"NONE","scope":"CHANGED","confidentialityImpact":"LOW","integrityImpact":"LOW","availabilityImpact":"NONE"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"5.4","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N","data":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":5.4,"baseSeverity":"MEDIUM","confidentialityImpact":"LOW","integrityImpact":"LOW","privilegesRequired":"NONE","scope":"CHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N","version":"3.1"}}],"references":[{"url":"https://github.com/electron/electron/pull/50963","name":"https://github.com/electron/electron/pull/50963","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/electron/electron/commit/2764e4c35168855f614876051823db4f58a3714a","name":"https://github.com/electron/electron/commit/2764e4c35168855f614876051823db4f58a3714a","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/electron/electron/commit/477dcf7afc6550715f9ec5e6f39ee38e5dd7bf39","name":"https://github.com/electron/electron/commit/477dcf7afc6550715f9ec5e6f39ee38e5dd7bf39","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/electron/electron/pull/50962","name":"https://github.com/electron/electron/pull/50962","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/electron/electron/releases/tag/v41.2.1","name":"https://github.com/electron/electron/releases/tag/v41.2.1","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/electron/electron/releases/tag/v39.8.8","name":"https://github.com/electron/electron/releases/tag/v39.8.8","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/electron/electron/commit/08b9d0a220e267d1a2402a44bdd01a2e9aa320b5","name":"https://github.com/electron/electron/commit/08b9d0a220e267d1a2402a44bdd01a2e9aa320b5","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/electron/electron/security/advisories/GHSA-p2rr-rvmm-c5fp","name":"https://github.com/electron/electron/security/advisories/GHSA-p2rr-rvmm-c5fp","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/electron/electron/pull/50961","name":"https://github.com/electron/electron/pull/50961","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/electron/electron/pull/50964","name":"https://github.com/electron/electron/pull/50964","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/electron/electron/releases/tag/v42.0.0-beta.3","name":"https://github.com/electron/electron/releases/tag/v42.0.0-beta.3","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/electron/electron/releases/tag/v40.9.0","name":"https://github.com/electron/electron/releases/tag/v40.9.0","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/electron/electron/commit/c39e3d5687d57434c8d5fe814c5152efd2f631c3","name":"https://github.com/electron/electron/commit/c39e3d5687d57434c8d5fe814c5152efd2f631c3","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-70612","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-70612","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"electron","product":"electron","version":"affected < 39.8.8","platforms":[]},{"source":"CNA","vendor":"electron","product":"electron","version":"affected >= 40.0.0-alpha.1, < 40.9.0","platforms":[]},{"source":"CNA","vendor":"electron","product":"electron","version":"affected >= 41.0.0-alpha.1, < 41.2.1","platforms":[]},{"source":"CNA","vendor":"electron","product":"electron","version":"affected >= 42.0.0-alpha.1, < 42.0.0-beta.3","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-70612","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","timestamp":"2026-08-05T19:03:22.677858Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-08-05T19:03:29.121Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"product":"electron","vendor":"electron","versions":[{"status":"affected","version":"< 39.8.8"},{"status":"affected","version":">= 40.0.0-alpha.1, < 40.9.0"},{"status":"affected","version":">= 41.0.0-alpha.1, < 41.2.1"},{"status":"affected","version":">= 42.0.0-alpha.1, < 42.0.0-beta.3"}]}],"descriptions":[{"lang":"en","value":"Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to 39.8.8, 40.9.0, 41.2.1, and 42.0.0-beta.3, 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 sandbox state was also not made available to the app permission handlers, affecting apps that render untrusted content in sandboxed iframes and grant the openExternal permission by default when no setPermissionRequestHandler is installed. This issue is fixed in 39.8.8, 40.9.0, 41.2.1, and 42.0.0-beta.3."}],"metrics":[{"cvssV3_1":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":5.4,"baseSeverity":"MEDIUM","confidentialityImpact":"LOW","integrityImpact":"LOW","privilegesRequired":"NONE","scope":"CHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-284","description":"CWE-284: Improper Access Control","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-08-05T17:56:41.464Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/electron/electron/security/advisories/GHSA-p2rr-rvmm-c5fp","tags":["x_refsource_CONFIRM"],"url":"https://github.com/electron/electron/security/advisories/GHSA-p2rr-rvmm-c5fp"},{"name":"https://github.com/electron/electron/pull/50961","tags":["x_refsource_MISC"],"url":"https://github.com/electron/electron/pull/50961"},{"name":"https://github.com/electron/electron/pull/50962","tags":["x_refsource_MISC"],"url":"https://github.com/electron/electron/pull/50962"},{"name":"https://github.com/electron/electron/pull/50963","tags":["x_refsource_MISC"],"url":"https://github.com/electron/electron/pull/50963"},{"name":"https://github.com/electron/electron/pull/50964","tags":["x_refsource_MISC"],"url":"https://github.com/electron/electron/pull/50964"},{"name":"https://github.com/electron/electron/commit/08b9d0a220e267d1a2402a44bdd01a2e9aa320b5","tags":["x_refsource_MISC"],"url":"https://github.com/electron/electron/commit/08b9d0a220e267d1a2402a44bdd01a2e9aa320b5"},{"name":"https://github.com/electron/electron/commit/2764e4c35168855f614876051823db4f58a3714a","tags":["x_refsource_MISC"],"url":"https://github.com/electron/electron/commit/2764e4c35168855f614876051823db4f58a3714a"},{"name":"https://github.com/electron/electron/commit/477dcf7afc6550715f9ec5e6f39ee38e5dd7bf39","tags":["x_refsource_MISC"],"url":"https://github.com/electron/electron/commit/477dcf7afc6550715f9ec5e6f39ee38e5dd7bf39"},{"name":"https://github.com/electron/electron/commit/c39e3d5687d57434c8d5fe814c5152efd2f631c3","tags":["x_refsource_MISC"],"url":"https://github.com/electron/electron/commit/c39e3d5687d57434c8d5fe814c5152efd2f631c3"},{"name":"https://github.com/electron/electron/releases/tag/v39.8.8","tags":["x_refsource_MISC"],"url":"https://github.com/electron/electron/releases/tag/v39.8.8"},{"name":"https://github.com/electron/electron/releases/tag/v40.9.0","tags":["x_refsource_MISC"],"url":"https://github.com/electron/electron/releases/tag/v40.9.0"},{"name":"https://github.com/electron/electron/releases/tag/v41.2.1","tags":["x_refsource_MISC"],"url":"https://github.com/electron/electron/releases/tag/v41.2.1"},{"name":"https://github.com/electron/electron/releases/tag/v42.0.0-beta.3","tags":["x_refsource_MISC"],"url":"https://github.com/electron/electron/releases/tag/v42.0.0-beta.3"}],"source":{"advisory":"GHSA-p2rr-rvmm-c5fp","discovery":"UNKNOWN"},"title":"Electron: Sandboxed iframes can launch external protocol handlers"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-70612","datePublished":"2026-08-05T17:56:41.464Z","dateReserved":"2026-08-04T19:50:27.329Z","dateUpdated":"2026-08-05T19:03:29.121Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-08-05 19:17:41","lastModifiedDate":"2026-08-05 20:17:17","problem_types":["CWE-284","CWE-284 CWE-284: Improper Access Control"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N","baseScore":5.4,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"NONE","userInteraction":"NONE","scope":"CHANGED","confidentialityImpact":"LOW","integrityImpact":"LOW","availabilityImpact":"NONE"},"exploitabilityScore":2.2,"impactScore":2.7}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-08-05T19:03:22.677858Z","id":"CVE-2026-70612","options":[{"exploitation":"none"},{"automatable":"no"},{"technicalImpact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"70612","Ordinal":"1","Title":"Electron: Sandboxed iframes can launch external protocol handler","CVE":"CVE-2026-70612","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"70612","Ordinal":"1","NoteData":"Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to 39.8.8, 40.9.0, 41.2.1, and 42.0.0-beta.3, 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 sandbox state was also not made available to the app permission handlers, affecting apps that render untrusted content in sandboxed iframes and grant the openExternal permission by default when no setPermissionRequestHandler is installed. This issue is fixed in 39.8.8, 40.9.0, 41.2.1, and 42.0.0-beta.3.","Type":"Description","Title":"Electron: Sandboxed iframes can launch external protocol handler"}]}}}