{"id":"CVE-2026-114122","aliases":["EUVD-2026-107362","GHSA-3qxv-5xgr-q7w9"],"status":"published","title":"Electron: Frame subscription trusts GPU-supplied frame geometry","description":"Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to versions 42.11.6, 43.7.3, 44.4.3, and 45.0.0-alpha.9, frame data received from the GPU process for webContents.beginFrameSubscription was not fully validated by the main process. An attacker who had separately gained code execution in the GPU process could supply inconsistent frame geometry and cause the main process to read out-of-bounds memory while producing captured frame images, disclosing memory or crashing the application. This issue is fixed in versions 42.11.6, 43.7.3, 44.4.3, and 45.0.0-alpha.9.","severity":{"version":"3.1","score":3.9,"vector":"CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:L/I:N/A:L","level":"low","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00186,"percentile":0.0832,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-125"],"published":"2026-10-21T16:26:34Z","modified":"2026-11-11T02:48:41Z","fixes":[{"ecosystem":"npm","package":"electron","fixed_in":["42.11.6","43.7.3","44.4.3","45.0.0-alpha.9"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"electron","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"42.11.6"}]}]},{"source":"ghsa","ecosystem":"npm","package":"electron","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"43.0.0-alpha.1"},{"fixed":"43.7.3"}]}]},{"source":"ghsa","ecosystem":"npm","package":"electron","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"44.0.0-alpha.1"},{"fixed":"44.4.3"}]}]},{"source":"ghsa","ecosystem":"npm","package":"electron","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"45.0.0-alpha.1"},{"fixed":"45.0.0-alpha.9"}]}]},{"source":"osv","ecosystem":"npm","package":"electron","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"42.11.6"}]}]},{"source":"osv","ecosystem":"npm","package":"electron","ranges":[{"type":"SEMVER","events":[{"introduced":"43.0.0-alpha.1"},{"fixed":"43.7.3"}]}]},{"source":"osv","ecosystem":"npm","package":"electron","ranges":[{"type":"SEMVER","events":[{"introduced":"44.0.0-alpha.1"},{"fixed":"44.4.3"}]}]},{"source":"osv","ecosystem":"npm","package":"electron","ranges":[{"type":"SEMVER","events":[{"introduced":"45.0.0-alpha.1"},{"fixed":"45.0.0-alpha.9"}]}]}],"products":[{"vendor":"electron","product":"electron"}],"references":[{"url":"https://github.com/electron/electron/security/advisories/GHSA-3qxv-5xgr-q7w9","tags":["x_refsource_CONFIRM","advisory","web"]},{"url":"https://github.com/electron/electron/pull/54036","tags":["x_refsource_MISC","fix","web"]},{"url":"https://github.com/electron/electron/pull/54037","tags":["x_refsource_MISC","fix","web"]},{"url":"https://github.com/electron/electron/pull/54038","tags":["x_refsource_MISC","fix","web"]},{"url":"https://github.com/electron/electron/pull/54047","tags":["x_refsource_MISC","fix","web"]},{"url":"https://github.com/electron/electron/commit/24d8dbc661c6a109476ae59e9a2740b35d005cf4","tags":["x_refsource_MISC","fix","web"]},{"url":"https://github.com/electron/electron/commit/64ae597deda8956037387b439e6361f0fe936c86","tags":["x_refsource_MISC","fix","web"]},{"url":"https://github.com/electron/electron/commit/8d48be150c3fd53b0d02854124bdb7858598799c","tags":["x_refsource_MISC","fix","web"]},{"url":"https://github.com/electron/electron/commit/d496507ffa1693edaa704a4be130fbcb8ecb4ada","tags":["x_refsource_MISC","fix","web"]},{"url":"https://github.com/electron/electron/commit/d7f87070a8d738e561245d1ade4d6fbb082db80a","tags":["x_refsource_MISC","fix","web"]},{"url":"https://github.com/electron/electron/releases/tag/v42.11.6","tags":["x_refsource_MISC","web"]},{"url":"https://github.com/electron/electron/releases/tag/v43.7.3","tags":["x_refsource_MISC","web"]},{"url":"https://github.com/electron/electron/releases/tag/v44.4.3","tags":["x_refsource_MISC","web"]},{"url":"https://github.com/electron/electron/releases/tag/v45.0.0-alpha.9","tags":["x_refsource_MISC","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-114122","tags":["advisory"]},{"url":"https://github.com/electron/electron/pull/54033","tags":["web"]},{"url":"https://github.com/advisories/GHSA-3qxv-5xgr-q7w9"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/114xxx/CVE-2026-114122.json","tags":["advisory"]},{"url":"https://github.com/electron/electron","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-114122","title":"Electron: Frame subscription trusts GPU-supplied frame geometry","description":"Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to versions 42.11.6, 43.7.3, 44.4.3, and 45.0.0-alpha.9, frame data received from the GPU process for webContents.beginFrameSubscription was not fully validated by the main process. An attacker who had separately gained code execution in the GPU process could supply inconsistent frame geometry and cause the main process to read out-of-bounds memory while producing captured frame images, disclosing memory or crashing the application. This issue is fixed in versions 42.11.6, 43.7.3, 44.4.3, and 45.0.0-alpha.9.","status":"published","published":"2026-10-21T16:26:34.55Z","modified":"2026-10-28T01:24:21.033Z","cvss":[{"version":"3.1","score":3.9,"vector":"CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:L/I:N/A:L","level":"low","assessor":"cna"}],"cwes":["CWE-125"],"updated_at":"2026-11-02T13:40:01.309549Z"}],"euvd":[{"id":"EUVD-2026-107362","description":"Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to versions 42.11.6, 43.7.3, 44.4.3, and 45.0.0-alpha.9, frame data received from the GPU process for webContents.beginFrameSubscription was not fully validated by the main process. An attacker who had separately gained code execution in the GPU process could supply inconsistent frame geometry and cause the main process to read out-of-bounds memory while producing captured frame images, disclosing memory or crashing the application. This issue is fixed in versions 42.11.6, 43.7.3, 44.4.3, and 45.0.0-alpha.9.","status":"published","published":"2026-10-21T16:26:34Z","modified":"2026-10-28T01:24:21Z","cvss":[{"version":"3.1","score":3.9,"vector":"CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:L/I:N/A:L","level":"low"}],"updated_at":"2026-11-02T16:59:22.052945Z"}],"ghsa":[{"id":"GHSA-3qxv-5xgr-q7w9","title":"Electron: Frame subscription trusts GPU-supplied frame geometry","description":"### Impact\nFrame data received from the GPU process for `webContents.beginFrameSubscription` was not fully validated by the main process. A compromised GPU process could cause the main process to read out-of-bounds memory while producing the captured frame images, disclosing memory or crashing the app.\n\nApps are only affected if they use `webContents.beginFrameSubscription` and an attacker has separately gained code execution in the GPU process. Apps that do not subscribe to captured frames are not affected.\n\n### Workarounds\nThere are no app side workarounds, you must update to a patched version of Electron.\n\n### Fixed Versions\n* `45.0.0-alpha.9`\n* `44.4.3`\n* `43.7.3`\n* `42.11.6`\n\n### For more information\nIf you have any questions or comments about this advisory, email us at [security@electronjs.org](mailto:security@electronjs.org)","status":"published","published":"2026-10-22T16:46:06Z","modified":"2026-10-22T16:46:07Z","cvss":[{"version":"3.1","score":3.9,"vector":"CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:L/I:N/A:L","level":"low"}],"cwes":["CWE-125"],"updated_at":"2026-11-02T14:41:34.690842Z"}],"nvd":[{"id":"CVE-2026-114122","description":"Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to versions 42.11.6, 43.7.3, 44.4.3, and 45.0.0-alpha.9, frame data received from the GPU process for webContents.beginFrameSubscription was not fully validated by the main process. An attacker who had separately gained code execution in the GPU process could supply inconsistent frame geometry and cause the main process to read out-of-bounds memory while producing captured frame images, disclosing memory or crashing the application. This issue is fixed in versions 42.11.6, 43.7.3, 44.4.3, and 45.0.0-alpha.9.","status":"published","published":"2026-10-21T17:18:25.58Z","modified":"2026-10-28T02:17:04.767Z","cvss":[{"version":"3.1","score":3.9,"vector":"CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:L/I:N/A:L","level":"low","assessor":"secondary"}],"cwes":["CWE-125"],"updated_at":"2026-11-02T14:13:02.371082Z"}],"osv":[{"id":"CVE-2026-114122","title":"Electron: Frame subscription trusts GPU-supplied frame geometry","description":"Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to versions 42.11.6, 43.7.3, 44.4.3, and 45.0.0-alpha.9, frame data received from the GPU process for webContents.beginFrameSubscription was not fully validated by the main process. An attacker who had separately gained code execution in the GPU process could supply inconsistent frame geometry and cause the main process to read out-of-bounds memory while producing captured frame images, disclosing memory or crashing the application. This issue is fixed in versions 42.11.6, 43.7.3, 44.4.3, and 45.0.0-alpha.9.","status":"published","published":"2026-10-21T16:26:34.55Z","modified":"2026-11-11T13:20:02.072717475Z","cvss":[{"version":"3.1","score":3.9,"vector":"CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:L/I:N/A:L","level":"low"}],"cwes":["CWE-125"],"updated_at":"2026-11-11T03:22:00.901153Z"},{"id":"GHSA-3qxv-5xgr-q7w9","title":"Electron: Frame subscription trusts GPU-supplied frame geometry","description":"### Impact\nFrame data received from the GPU process for `webContents.beginFrameSubscription` was not fully validated by the main process. A compromised GPU process could cause the main process to read out-of-bounds memory while producing the captured frame images, disclosing memory or crashing the app.\n\nApps are only affected if they use `webContents.beginFrameSubscription` and an attacker has separately gained code execution in the GPU process. Apps that do not subscribe to captured frames are not affected.\n\n### Workarounds\nThere are no app side workarounds, you must update to a patched version of Electron.\n\n### Fixed Versions\n* `45.0.0-alpha.9`\n* `44.4.3`\n* `43.7.3`\n* `42.11.6`\n\n### For more information\nIf you have any questions or comments about this advisory, email us at [security@electronjs.org](mailto:security@electronjs.org)","status":"published","published":"2026-10-22T16:46:06Z","modified":"2026-10-22T17:00:05.166832387Z","cvss":[{"version":"3.1","score":3.9,"vector":"CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:L/I:N/A:L","level":"low"}],"cwes":["CWE-125"],"updated_at":"2026-11-02T15:46:36.092962Z"}]}}
