Skip to main content

Electron CVE-2026-114124

| EUVDEUVD-2026-107392 LOW
Out-of-bounds Read (CWE-125)
2026-10-21 GitHub_M GHSA-h3v5-h239-pg29
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
    Compromise GPU process separately
  2. Delivery
    Craft frame with inconsistent geometry
  3. Exploit
    Send oversized content_rect/pixel_size over Mojo
  4. Execution
    Main process reads out-of-bounds building bitmap
  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 that the target be a macOS Electron application using offscreen rendering (OSR), since the vulnerable code path is in the macOS OSR host display client and video consumer that build paint-event bitmaps from GPU frame data. The decisive prerequisite is that the attacker must have independently achieved code execution within the GPU process (PR:H) in order to supply inconsistent frame geometry (a content_rect or pixel_size not backed by the shared-memory mapping or IOSurface) over Mojo to the main process. Limiting factors that substantially reduce real-world exposure: it is not reachable by a remote unauthenticated attacker, it does not apply to Windows/Linux or to default non-OSR Electron apps, and it depends on first chaining a separate GPU-process compromise - making it a privilege/boundary-escalation step rather than a standalone entry point.

Impact

This is a low-priority, defense-in-depth issue rather than an urgent threat, 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, base 3.9 Low) tells the real story: exploitation is local, high-complexity, and requires high privileges - specifically the attacker must have ALREADY achieved code execution inside the GPU process, which the description confirms ('An attacker who had separately gained code execution in the GPU process'). In other words, this is a secondary sandbox-escape/boundary-hardening fix that only matters AFTER a more serious compromise has occurred; it is not an initial-access vector. The scope change (S:C) is justified because the compromised GPU process corrupts memory in the separate main process. Impact is limited to C:L (memory disclosure) and A:L (crash), with no integrity impact (I:N) and explicitly no remote code execution. No EPSS score was provided in the input, so exploitation probability cannot be quantified; however, given the Low severity and the prerequisite GPU-process compromise, widespread opportunistic exploitation is implausible. KEV status is not listed and no POC is referenced, so this is 'no public exploit identified at time of analysis.' The one caveat defenders should verify: exploitation is further gated on macOS AND the offscreen-rendering (OSR) feature being in use, which the raw CVSS does not capture - the actual attackable population is far smaller than a Low AV:L score alone would suggest.

Exploit ScenarioDerived

An attacker who has already exploited a separate renderer/GPU-process vulnerability in a macOS Electron app that uses offscreen rendering sends the main process a frame with inconsistent geometry (a content_rect or pixel_size larger than the backing shared-memory region or IOSurface). When the main process builds the paint-event bitmap it reads out-of-bounds, leaking adjacent main-process memory into the paint image or crashing the app. No public exploit code is referenced, and exploitation requires the attacker to first control the GPU process.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.2% 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 macOS offscreen rendering (OSR) path lets an attacker who already has code execution inside the GPU process feed inconsistent frame geometry - a content_rect or pixel_size not backed by the underlying shared-memory mapping or IOSurface - to the main process, which then reads past the end of the mapped buffer while building paint-event images. The result is disclosure of main-process memory contents or an application crash, and exploitation is confined to macOS applications that enable OSR; Windows, Linux, and default windowed Electron apps are unaffected. This is a sandbox/boundary-escalation step rather than a standalone entry point: the assessed vector is CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:L/I:N/A:L (3.9), and attack complexity is high with no public exploit identified at time of analysis. Fixed upstream in Electron 42.11.6, 43.7.3, 44.4.3, and 45.0.0-alpha.9.

RemediationAI

Vendor-released patch: upgrade to Electron 42.11.6, 43.7.3, 44.4.3, or 45.0.0-alpha.9 as appropriate for your release line (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-h3v5-h239-pg29). The upstream fixes are the commits referenced in PRs 54033, 54036, 54037, 54038, and 54047, which add pixel-format validation, content_rect-within-coded_size containment checks, SkImageInfo::ByteSizeOverflowed guards, and allocation-size comparisons in frame_subscriber.cc, osr_host_display_client_mac.mm, and osr_video_consumer.cc - downstream maintainers who vendor or cherry-pick Electron patches should pull all of them, since any single missing check leaves part of the geometry surface unvalidated. If an immediate upgrade is not possible, the most effective compensating control on macOS is to disable offscreen rendering (set webPreferences.offscreen to false and stop using the paint-event/BeginFrameSubscription APIs), which removes the vulnerable Mojo frame-metadata path entirely; the trade-off is that headless frame capture, offscreen streaming, and custom compositing workflows will need to be re-architected around standard windowed rendering or an external capture mechanism. Additionally, treat GPU-process compromise as a serious incident signal: because this issue requires pre-existing code execution in the GPU process (PR:H), hardening the GPU process (keeping Chromium sandboxing enabled, avoiding GPU-process-hosted native code and unsafe GPU driver paths, and monitoring for GPU-process crashes with anomalous frame geometry logged) reduces the likelihood of the prerequisite condition being met. Note that the crash/DoS aspect (A:L) cannot be mitigated by configuration short of patching, since the same unvalidated geometry drives the out-of-bounds read.

Affected VersionsENISA

electron 44.0.0-alpha.1, < 44.4.3
electron 43.0.0-alpha.1, < 43.7.3
electron 45.0.0-alpha.1, < 45.0.0-alpha.9
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's offscreen rendering implementation splits frame production and frame consumption across the Chromium process boundary using Mojo IPC. The GPU process renders into either a read-only shared-memory region (FrameSubscriber in shell/browser/api/frame_subscriber.cc, OSR video consumer) or, on macOS, an IOSurface passed by Mach port (shell/browser/osr/osr_host_display_client_mac.mm). The main (browser) process then wraps that buffer in an SkBitmap via SkBitmap::installPixels using a SkImageInfo and row stride derived from geometry fields - content_rect, coded_size, pixel_size, pixel_format - that arrive over Mojo independently of the mapping itself. Prior to the fix, the code trusted those fields: it did not verify the pixel format was PIXEL_FORMAT_ARGB for the shared-memory path, did not check that content_rect was contained within coded_size, and did not check that the byte size Skia would read (computeByteSize(row_bytes)) fit inside mapping.size() or IOSurfaceGetAllocSize(), nor that the IOSurface's width/height/bytes-per-element matched the claimed pixel_size. CWE-125 (Out-of-bounds Read) is the root cause class: a malicious or compromised GPU-process renderer supplies self-inconsistent metadata and the main process reads beyond the buffer boundary, leaking memory into the delivered bitmap or faulting. The upstream fixes add format, containment, overflow (SkImageInfo::ByteSizeOverflowed), and allocation-size checks, and replace a CHECK(false) in the Chromium OSR patch with a graceful DLOG plus early return for non-OSR windows. The security value here is the process-boundary crossing - the GPU process is the more heavily sandboxed process, so a compromised GPU renderer gaining a memory-disclosure primitive in the less-restricted main process matters despite the modest CVSS score.

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 prior code execution in the GPU process (PR:H, AV:L) and must craft precise inconsistent geometry (AC:H); impact crosses to the main process (S:C) causing 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 - 19:18 EUVD
CVE Published
Oct 21, 2026 - 17:03 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 macOS offscreen rendering was not fully validated by the main process. An attacker who had separately gained code execution in the GPU process could provide inconsistent frame geometry and cause the main process to read out-of-bounds memory while producing paint event 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.2%
Top 96% exploitable
Prevalence
High
Electron underpins many major desktop apps; affected feature is macOS OSR-specific
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.2%
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.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

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