CVE Vulnerabilities

CVE-2026-34770

Use After Free

Published: Apr 04, 2026 | Modified: Apr 22, 2026
CVSS 3.x
8.8
HIGH
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
CVSS 2.x
RedHat/V2
RedHat/V3
Ubuntu
root.io logo minimus.io logo echo.ai logo

Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to versions 38.8.6, 39.8.1, 40.8.0, and 41.0.0-beta.8, apps that use the powerMonitor module may be vulnerable to a use-after-free. After the native PowerMonitor object is garbage-collected, the associated OS-level resources (a message window on Windows, a shutdown handler on macOS) retain dangling references. A subsequent session-change event (Windows) or system shutdown (macOS) dereferences freed memory, which may lead to a crash or memory corruption. All apps that access powerMonitor events (suspend, resume, lock-screen, etc.) are potentially affected. The issue is not directly renderer-controllable. This issue has been patched in versions 38.8.6, 39.8.1, 40.8.0, and 41.0.0-beta.8.

Weakness

The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory “belongs” to the code that operates on the new pointer.

Affected Software

NameVendorStart VersionEnd Version
ElectronElectronjs*38.8.6 (excluding)
ElectronElectronjs39.0.0 (including)39.8.1 (excluding)
ElectronElectronjs40.0.0 (including)40.8.0 (excluding)
ElectronElectronjs41.0.0-alpha1 (including)41.0.0-alpha1 (including)
ElectronElectronjs41.0.0-alpha2 (including)41.0.0-alpha2 (including)
ElectronElectronjs41.0.0-alpha3 (including)41.0.0-alpha3 (including)
ElectronElectronjs41.0.0-alpha4 (including)41.0.0-alpha4 (including)
ElectronElectronjs41.0.0-alpha5 (including)41.0.0-alpha5 (including)
ElectronElectronjs41.0.0-alpha6 (including)41.0.0-alpha6 (including)
ElectronElectronjs41.0.0-beta1 (including)41.0.0-beta1 (including)
ElectronElectronjs41.0.0-beta2 (including)41.0.0-beta2 (including)
ElectronElectronjs41.0.0-beta3 (including)41.0.0-beta3 (including)
ElectronElectronjs41.0.0-beta4 (including)41.0.0-beta4 (including)
ElectronElectronjs41.0.0-beta5 (including)41.0.0-beta5 (including)
ElectronElectronjs41.0.0-beta6 (including)41.0.0-beta6 (including)
ElectronElectronjs41.0.0-beta7 (including)41.0.0-beta7 (including)

Potential Mitigations

References