Skip to content
Fencer Vulns
high 7.4

CVE-2026-70604 json

Electron: Custom protocol with supportFetchAPI but not corsEnabled allows cross-origin reads

published 2026-08-05 3 mo ago modified 2026-10-08 31 d ago also GHSA-v3j7-r9gq-3gjw , EUVD-2026-53440

cvss
7.4
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.4%
EPSS 0.4% chance of exploitation in 30 days, percentile 29%
public exploits
0
none known

Summary

Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to 39.8.10, 40.9.3, 41.4.0, and 42.0.0, 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. This issue is fixed in versions 39.8.10, 40.9.3, 41.4.0, and 42.0.0.

Patch / fix

  • npm electron 39.8.10, 40.9.3, 41.4.0, 42.0.0
  • electronjs electron 39.8.10, 40.9.3, 41.4.0

CISA SSVC

Exploitation
none
Automatable
no
Technical impact
partial
Assessed
3 mo ago

Exploit prediction

0.35% chance of exploitation in the next 30 days, higher than 29% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CNA 3.1 7.4 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N
GitHub 3.1 7.4 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N

Affected packages

ecosystem package affected fixed in
npm electron
>=42.0.0-alpha.1, <42.0.0
>=41.0.0-alpha.1, <41.4.0
>=40.0.0-alpha.1, <40.9.3
<39.8.10
42.0.0
41.4.0
40.9.3
39.8.10

Affected products

  • electron electron

Classification

Weakness
  • CWE-942 Permissive Cross-domain Security Policy with Untrusted Domains

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.