{"id":"CVE-2026-102677","aliases":["EUVD-2026-89179","GHSA-qmv3-fv6v-rmhq"],"status":"published","title":"Electron: Sandboxed preload code cache can be poisoned by a compromised renderer","description":"Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. From 42.3.3 until 42.10.0, 43.5.0, and 44.0.0-beta.6, Electron's sandboxed preload code cache did not verify that a cached entry matched the preload it was served for. A compromised renderer could write attacker-controlled cache data and cause Electron to reuse it for a later load, executing the renderer's code in the more privileged preload context. The issue affects applications that load untrusted content. This issue is fixed in versions 42.10.0, 43.5.0, and 44.0.0-beta.6.","severity":{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.00099,"percentile":0.0081,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-20","CWE-345"],"published":"2026-09-29T17:43:26Z","modified":"2026-11-11T02:48:53Z","fixes":[{"ecosystem":"npm","package":"electron","fixed_in":["42.10.0","43.5.0","44.0.0-beta.6"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"electron","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"42.3.3"},{"fixed":"42.10.0"}]}]},{"source":"ghsa","ecosystem":"npm","package":"electron","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"43.0.0-beta.1"},{"fixed":"43.5.0"}]}]},{"source":"ghsa","ecosystem":"npm","package":"electron","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"44.0.0-alpha.1"},{"fixed":"44.0.0-beta.6"}]}]},{"source":"osv","ecosystem":"npm","package":"electron","ranges":[{"type":"SEMVER","events":[{"introduced":"42.3.3"},{"fixed":"42.10.0"}]}]},{"source":"osv","ecosystem":"npm","package":"electron","ranges":[{"type":"SEMVER","events":[{"introduced":"43.0.0-beta.1"},{"fixed":"43.5.0"}]}]},{"source":"osv","ecosystem":"npm","package":"electron","ranges":[{"type":"SEMVER","events":[{"introduced":"44.0.0-alpha.1"},{"fixed":"44.0.0-beta.6"}]}]}],"products":[{"vendor":"electron","product":"electron"},{"vendor":"electronjs","product":"electron"}],"references":[{"url":"https://github.com/electron/electron/security/advisories/GHSA-qmv3-fv6v-rmhq","tags":["x_refsource_CONFIRM","Vendor Advisory","advisory","web"]},{"url":"https://github.com/electron/electron/pull/52480","tags":["x_refsource_MISC","Issue Tracking","Patch","fix","web"]},{"url":"https://github.com/electron/electron/commit/000453e399bd1dee5e86376cdd9ece5fc071e601","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/electron/electron/commit/25ba8be57c65a83d8c14ebb8aa37693df17a04f3","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/electron/electron/commit/c38d6fd68756f04647ea857bdb6a2abec332e217","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/electron/electron/releases/tag/v42.10.0","tags":["x_refsource_MISC","Release Notes","web"]},{"url":"https://github.com/electron/electron/releases/tag/v43.5.0","tags":["x_refsource_MISC","Release Notes","web"]},{"url":"https://github.com/electron/electron/releases/tag/v44.0.0-beta.6","tags":["x_refsource_MISC","Release Notes","web"]},{"url":"https://github.com/electron/electron/commit/06a12a87a23f40abbf580fc7a552bc1189812c45","tags":["web"]},{"url":"https://github.com/advisories/GHSA-qmv3-fv6v-rmhq"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/102xxx/CVE-2026-102677.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-102677","tags":["advisory"]},{"url":"https://github.com/electron/electron","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-102677","title":"Electron: Sandboxed preload code cache can be poisoned by a compromised renderer","description":"Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. From 42.3.3 until 42.10.0, 43.5.0, and 44.0.0-beta.6, Electron's sandboxed preload code cache did not verify that a cached entry matched the preload it was served for. A compromised renderer could write attacker-controlled cache data and cause Electron to reuse it for a later load, executing the renderer's code in the more privileged preload context. The issue affects applications that load untrusted content. This issue is fixed in versions 42.10.0, 43.5.0, and 44.0.0-beta.6.","status":"published","published":"2026-09-29T17:43:26.96Z","modified":"2026-10-02T12:18:18.477Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-20","CWE-345"],"updated_at":"2026-11-02T13:38:54.394896Z"}],"euvd":[{"id":"EUVD-2026-89179","description":"Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. From 42.3.3 until 42.10.0, 43.5.0, and 44.0.0-beta.6, Electron's sandboxed preload code cache did not verify that a cached entry matched the preload it was served for. A compromised renderer could write attacker-controlled cache data and cause Electron to reuse it for a later load, executing the renderer's code in the more privileged preload context. The issue affects applications that load untrusted content. This issue is fixed in versions 42.10.0, 43.5.0, and 44.0.0-beta.6.","status":"published","published":"2026-09-29T17:43:26Z","modified":"2026-10-02T12:18:18Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T17:27:43.134956Z"}],"ghsa":[{"id":"GHSA-qmv3-fv6v-rmhq","title":"Electron: Sandboxed preload code cache can be poisoned by a compromised renderer","description":"### Impact\n\nThe cache Electron keeps for sandboxed preload scripts did not verify that a cached entry matched the preload it was served for. A compromised renderer could use this to run its own code in the preload context on a later load.\n\nApps are only affected if they load untrusted content. Apps that do not load untrusted content are not affected.\n\n### Workarounds\n\nThere are no app side workarounds, you must update to a patched version of Electron.\n\n### Fixed Versions\n\n* `44.0.0-beta.6`\n* `43.5.0 `\n* `42.10.0`\n\n### For more information\n\nIf you have any questions or comments about this advisory, email us at [security@electronjs.org](mailto:security@electronjs.org)","status":"published","published":"2026-09-29T18:02:01Z","modified":"2026-09-29T18:02:02Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-20","CWE-345"],"updated_at":"2026-11-02T14:41:22.654187Z"}],"nvd":[{"id":"CVE-2026-102677","description":"Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. From 42.3.3 until 42.10.0, 43.5.0, and 44.0.0-beta.6, Electron's sandboxed preload code cache did not verify that a cached entry matched the preload it was served for. A compromised renderer could write attacker-controlled cache data and cause Electron to reuse it for a later load, executing the renderer's code in the more privileged preload context. The issue affects applications that load untrusted content. This issue is fixed in versions 42.10.0, 43.5.0, and 44.0.0-beta.6.","status":"published","published":"2026-09-29T18:17:09.573Z","modified":"2026-10-08T20:24:30.737Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H","level":"high","assessor":"secondary"},{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H","level":"high","assessor":"primary"}],"cwes":["CWE-20","CWE-345"],"updated_at":"2026-11-02T14:12:52.413234Z"}],"osv":[{"id":"CVE-2026-102677","title":"Electron: Sandboxed preload code cache can be poisoned by a compromised renderer","description":"Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. From 42.3.3 until 42.10.0, 43.5.0, and 44.0.0-beta.6, Electron's sandboxed preload code cache did not verify that a cached entry matched the preload it was served for. A compromised renderer could write attacker-controlled cache data and cause Electron to reuse it for a later load, executing the renderer's code in the more privileged preload context. The issue affects applications that load untrusted content. This issue is fixed in versions 42.10.0, 43.5.0, and 44.0.0-beta.6.","status":"published","published":"2026-09-29T17:43:26.96Z","modified":"2026-11-11T07:22:34.997346179Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-20","CWE-345"],"updated_at":"2026-11-11T03:21:35.242594Z"},{"id":"GHSA-qmv3-fv6v-rmhq","title":"Electron: Sandboxed preload code cache can be poisoned by a compromised renderer","description":"### Impact\n\nThe cache Electron keeps for sandboxed preload scripts did not verify that a cached entry matched the preload it was served for. A compromised renderer could use this to run its own code in the preload context on a later load.\n\nApps are only affected if they load untrusted content. Apps that do not load untrusted content are not affected.\n\n### Workarounds\n\nThere are no app side workarounds, you must update to a patched version of Electron.\n\n### Fixed Versions\n\n* `44.0.0-beta.6`\n* `43.5.0 `\n* `42.10.0`\n\n### For more information\n\nIf you have any questions or comments about this advisory, email us at [security@electronjs.org](mailto:security@electronjs.org)","status":"published","published":"2026-09-29T18:02:01Z","modified":"2026-09-29T18:15:05.571919148Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-20","CWE-345"],"updated_at":"2026-11-02T15:46:54.760124Z"}]}}
