Skip to main content

Electron CVE-2026-114122

| EUVDEUVD-2026-107362 LOW
Out-of-bounds Read (CWE-125)
2026-10-21 GitHub_M GHSA-3qxv-5xgr-q7w9
3.9
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain code execution in GPU process (prerequisite)
  2. Delivery
    Send frame with inconsistent geometry over Mojo
  3. Exploit
    Main process wraps undersized mapping as bitmap
  4. Execution
    Out-of-bounds read during frame capture
  5. Impact
    Disclose main-process memory or crash app

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK

1 technique across 1 tactic: Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires two concrete preconditions. First, the Electron application must actually use webContents.beginFrameSubscription (i.e., frame/offscreen capture is enabled) - apps not using this API are not exposed. Second, the attacker must have ALREADY achieved arbitrary code execution inside the GPU process via a separate, unrelated vulnerability; this bug is only reachable from a compromised GPU process supplying malicious frame metadata (content_rect, coded_size, pixel_size, pixel_format) that the pre-patch main process trusted without bounds-checking against the actual shared-memory/IOSurface mapping. Affected versions are those prior to 42.11.6, 43.7.3, 44.4.3, and 45.0.0-alpha.9. The high-complexity, high-privilege prerequisite (GPU-process code execution) is the dominant limiting factor and is why real-world risk is far lower than the technique tags suggest.

Impact

This is a genuinely low-priority issue despite the alarming 'RCE'/'Buffer Overflow' tags, and the signals are internally consistent on that point. The CVSS 3.1 vector (AV:L/AC:H/PR:H/UI:N/S:C/C:L/I:N/A:L, 3.9 LOW) encodes a steep precondition: the attacker must ALREADY possess code execution inside the sandboxed GPU process (PR:H), and the attack path is high-complexity (AC:H) and local (AV:L) rather than network-reachable. The scope change (S:C) is the only noteworthy element - it reflects a compromised GPU process corrupting the more-privileged main (browser) process. Impact is limited to C:L (partial memory disclosure) and A:L (crash), with I:N (no integrity/code-execution gain), which directly contradicts the 'RCE' tag - there is no arbitrary code execution outcome described. No EPSS score, no CISA KEV listing, and no public exploit were provided; absence of these is expected for a defense-in-depth sandbox-escape-adjacent bug and should not be read as suppressed risk. In short: this is a hardening fix for an out-of-bounds read reachable only after a prior GPU-process compromise, not a high-real-risk flaw. The main caveat is that it becomes meaningful only as the second stage of an exploit chain where a GPU-process RCE already exists.

Exploit ScenarioDerived

An attacker first chains a separate vulnerability (e.g., a GPU-process memory-corruption bug) to run code inside Electron's GPU process. From there, when the application uses webContents.beginFrameSubscription, the attacker sends frames whose declared geometry (content_rect / coded_size / pixel_size) is inconsistent with the actual shared-memory or IOSurface mapping, causing the trusted main process to read beyond the buffer while building the captured bitmap, leaking main-process memory or crashing the app. No public exploit identified at time of analysis; exploitation requires high complexity and pre-existing GPU-process code execution.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 21, 2026

Out-of-bounds memory read in Electron's frame-capture path (webContents.beginFrameSubscription) affects all versions prior to 42.11.6, 43.7.3, 44.4.3, and 45.0.0-alpha.9. The main process trusted frame geometry and pixel-format metadata relayed from the GPU process - content_rect, coded_size, pixel_size, and pixel_format - without validating it against the actual shared-memory or IOSurface mapping, so a malicious set of values causes the browser to read past the end of the buffer while assembling captured frames, leaking process memory or crashing the app. Exploitation requires that the target application actually use the frame-subscription API and that the attacker already hold code execution inside the GPU process through some other bug; no public exploit code and no active exploitation were identified at time of analysis, and the CVSS 3.9 score reflects that steep prerequisite rather than the severity of the memory-safety class.

RemediationAI

Vendor-released patch: upgrade to Electron 42.11.6, 43.7.3, 44.4.3, or 45.0.0-alpha.9 (release notes at https://github.com/electron/electron/releases/tag/v42.11.6, /v43.7.3, /v44.4.3, /v45.0.0-alpha.9; advisory GHSA-3qxv-5xgr-q7w9). Applications that embed Electron must rebuild and reship their bundled runtime - updating a package.json dependency without producing a new distributable leaves end users on the vulnerable binary. Where upgrading immediately is not possible, the most effective compensating control is to eliminate the attack surface: audit the codebase for webContents.beginFrameSubscription and disable frame-capture or offscreen-rendering features that depend on it, accepting the loss of that functionality (screen sharing, preview thumbnails, headless capture) as the trade-off. Because the flaw is only reachable from an already-compromised GPU process, hardening the GPU process is the second lever: keep Chromium's site isolation and GPU sandbox enabled, and avoid disabling the sandbox via --no-sandbox or --disable-gpu-sandbox flags, which would lower the bar for the prerequisite GPU-process compromise at the cost of compatibility with some constrained environments. Applying operating-system-level mitigations that reduce the value of an out-of-bounds read (ASLR, memory tagging where available) limits disclosure but does not fix the missing bounds checks. There is no configuration flag that repairs the geometry validation itself; patch deployment is the only complete remedy.

Affected VersionsENISA

electron 45.0.0-alpha.1, < 45.0.0-alpha.9
electron 43.0.0-alpha.1, < 43.7.3
electron 44.0.0-alpha.1, < 44.4.3
electron < 42.11.6

Affected Packages

npm electron fix: 42.11.6, 43.7.3, 44.4.3, 45.0.0-alpha.9

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in npm

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Electron is Chromium-based, and offscreen rendering (OSR) splits privilege: the GPU process produces compositor frames while the main/browser process consumes them over Mojo IPC. In this design, FrameSubscriber::OnFrameCaptured received a media::VideoFrame whose read-only shared-memory region was mapped independently of the accompanying metadata, and pre-patch code wrapped that mapping in an SkBitmap using row_bytes derived from info->coded_size while sizing the bitmap from content_rect - with no containment check that content_rect fit inside coded_size or that the computed byte size fit inside mapping.size(). The macOS path (osr_host_display_client_mac.mm) had the analogous flaw, taking ca_layer_params.pixel_size and installing pixels over an IOSurface without confirming the surface's byte-per-element, width, height, or alloc size actually backed every row read. The macOS code also called IOSurfaceLookupFromMachPort without checking for a null surface. This is CWE-125 (out-of-bounds read): the root cause is missing validation of IPC-supplied geometry rather than a write primitive, so the realistic outcomes are disclosure of adjacent memory in the captured frame image and denial of service via crash. The upstream fix adds format and shmem-type gating (rejecting anything that is not PIXEL_FORMAT_ARGB backed by a read-only shmem region), a gfx::Rect(coded_size).Contains(content_rect) check, SkImageInfo::ByteSizeOverflowed() guarding against integer overflow in the size computation, and a required_bytes <= mapping.size() bound; the macOS branch adds equivalent IOSurface dimension and allocation-size checks plus a null check. Because the attacker must already control the GPU process, confidentiality impact is constrained to memory the browser process can reach and integrity impact is nil in the assessed vector (S:C/C:L/I:N/A:L).

Know when Electron gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 3.9 LOW
AV:L/AC:H/PR:H/UI:N/S:C/C:L/I:N/A:L
vuln.today AI 3.9 LOW

Attacker needs pre-existing code execution in the GPU process (AV:L/PR:H), the inconsistent-geometry trigger is nontrivial (AC:H), and a GPU-to-main-process read crosses a trust boundary (S:C) yielding only memory disclosure (C:L) and crash (A:L).

3.1 AV:L/AC:H/PR:H/UI:N/S:C/C:L/I:N/A:L
4.0 AV:L/AC:H/AT:N/PR:H/UI:N/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Local
Attack Complexity
High
Privileges Required
High
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
None
Availability
Low

Lifecycle Timeline

2
Patch available
Oct 21, 2026 - 18:03 EUVD
CVE Published
Oct 21, 2026 - 16:26 cve.org
LOW 3.9

DescriptionCVE.org

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.

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Prevalence
High
Electron underpins vast numbers of desktop apps (VS Code, Slack, Discord, Teams)
Threat Intel
1
1 source
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
High

Priority Score

20
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +20
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2018-1000006 HIGH POC
8.8 Jan 24

GitHub Electron versions 1.8.2-beta.3 and earlier, 1.7.10 and earlier, 1.6.15 and earlier has a vulnerability in the pro

CVE-2025-68669 CRITICAL POC
9.6 Dec 23

Remote code execution in 5ire 0.15.2 and earlier arises because the desktop AI assistant renders Mermaid diagrams with s

CVE-2025-67744 CRITICAL POC
9.6 Dec 16

Cross-site scripting in DeepChat's Mermaid diagram renderer escalates to full remote code execution on affected desktop

CVE-2025-66481 CRITICAL POC
9.6 Dec 09

Remote code execution in DeepChat 0.5.1 and below is possible through a cross-site scripting flaw in Mermaid diagram ren

CVE-2026-93922 HIGH POC
8.6 Sep 18

Stored cross-site scripting in SiYuan through 3.8.4 lets an attacker who can set a notebook name containing an HTML payl

CVE-2017-12581 HIGH POC
8.1 Aug 06

GitHub Electron before 1.6.8 allows remote command execution because of a nodeIntegration bypass vulnerability. Rated hi

CVE-2018-15685 HIGH POC
8.1 Aug 23

GitHub Electron 1.7.15, 1.8.7, 2.0.7, and 3.0.0-beta.6, in certain scenarios involving IFRAME elements and "nativeWindow

CVE-2018-1000136 HIGH POC
8.1 Mar 23

Electron version 1.7 up to 1.7.12; 1.8 up to 1.8.3 and 2.0.0 up to 2.0.0-beta.3 contains an improper handling of values

CVE-2024-39698 HIGH POC
7.5 Jul 09

electron-updater allows for automatic updates for Electron apps. Rated high severity (CVSS 7.5), this vulnerability is r

CVE-2026-70604 HIGH POC
7.4 Aug 05

Cross-origin read bypass in Electron's custom protocol handler exposes sensitive application data to remote pages via fe

CVE-2026-70611 MEDIUM POC
6.9 Aug 05

Native code execution outside the Chromium sandbox is achievable in Electron prior to 39.8.9, 40.9.2, 41.2.1, and 42.0.0

CVE-2020-4077 CRITICAL
9.9 Jul 07

In Electron before versions 7.2.4, 8.2.4, and 9.0.0-beta21, there is a context isolation bypass. Rated critical severity

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy