CVE Vulnerabilities

CVE-2026-34771

Use After Free

Published: Apr 04, 2026 | Modified: Jun 30, 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
7.5 IMPORTANT
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
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.0, 40.7.0, and 41.0.0-beta.8, apps that register an asynchronous session.setPermissionRequestHandler() may be vulnerable to a use-after-free when handling fullscreen, pointer-lock, or keyboard-lock permission requests. If the requesting frame navigates or the window closes while the permission handler is pending, invoking the stored callback dereferences freed memory, which may lead to a crash or memory corruption. Apps that do not set a permission request handler, or whose handler responds synchronously, are not affected. This issue has been patched in versions 38.8.6, 39.8.0, 40.7.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.0 (excluding)
ElectronElectronjs40.0.0 (including)40.7.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