CVE-2026-34771: Electron: Use-after-free in WebContents fullscreen, pointer-lock, and keyboard-lock permission callbacks
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.
Security readout for executives and security teams
Plain-English summary
Some Electron desktop apps can mishandle certain browser-style permission requests. If an app waits before answering a fullscreen, pointer-lock, or keyboard-lock permission request, and the requesting page changes or the window closes, Electron may access freed memory. That can cause crashes or memory corruption.
Executive priority
Treat as a high-priority update for Electron-based desktop products that use asynchronous permission handling. Scope is narrower than all Electron apps, so prioritize inventory and targeted upgrades before broader emergency response.
Technical view
CVE-2026-34771 is a use-after-free in Electron WebContents permission callbacks. Affected apps use asynchronous session.setPermissionRequestHandler() for fullscreen, pointer-lock, or keyboard-lock. If navigation or window closure occurs before the stored callback is invoked, freed memory may be dereferenced. Patched Electron versions are available.
Likely exposure
Exposure is limited to Electron apps on affected release lines that register an asynchronous permission request handler. Apps without a permission handler, or handlers that respond synchronously, are described as not affected in the provided sources.
Exploitation context
No provided source reports active exploitation, and the bundle marks KEV as false. Exploitation is constrained by high complexity and user interaction, requiring a pending permission callback plus navigation or window closure. Impact may include crash or memory corruption.
Researcher notes
The relevant condition is lifecycle invalidation of a requesting frame or window while a stored permission callback remains pending. Analysis should focus on affected release lines and async handler behavior, not all Electron permission handling.
Mitigation direction
Upgrade Electron 38.x to 38.8.6 or later.
Upgrade Electron 39.x to 39.8.0 or later.
Upgrade Electron 40.x to 40.7.0 or later.
Upgrade Electron 41 beta to 41.0.0-beta.8 or later.
Review asynchronous permission handlers for affected permission types.
Check Electron and downstream vendor guidance before shipping fixes.
Validation and detection
Inventory Electron versions embedded in desktop applications.
Search code for session.setPermissionRequestHandler() usage.
Confirm whether handlers answer asynchronously or synchronously.
Identify fullscreen, pointer-lock, and keyboard-lock permission paths.
Verify packaged builds use patched Electron versions.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-364: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
2CVSS vectors
5Timeline events
2ADP providers
5Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: total
CVSS vector scores
2 official scores
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-364 · source CWE mapping
Signal Handler Race Condition
Signal Handler Race Condition represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Use After Free represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.