Electron: Use-after-free in WebContents fullscreen, pointer-lock, and keyboard-lock permission callbacks
Published 3 Apr 2026 · Updated 6 Apr 2026
Affected packages
- Affected
- <38.8.6
- Fixed in
- 38.8.6
npm install electron@38.8.6- Affected
- >=39.0.0-alpha.1 <39.8.0
- Fixed in
- 39.8.0
npm install electron@39.8.0- Affected
- >=40.0.0-alpha.1 <40.7.0
- Fixed in
- 40.7.0
npm install electron@40.7.0- Affected
- >=41.0.0-alpha.1 <41.0.0-beta.8
- Fixed in
- 41.0.0-beta.8
npm install electron@41.0.0-beta.8Details
Impact
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.
Workarounds
Respond to permission requests synchronously, or deny fullscreen, pointer-lock, and keyboard-lock requests if an asynchronous flow is required.
Fixed Versions
41.0.0-beta.840.7.039.8.038.8.6
For more information
If there are any questions or comments about this advisory, please email [security@electronjs.org](mailto:security@electronjs.org)
Is GHSA-8337-3p73-46f4 in any of your client repos?
Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected electron, and gives you the command that fixes it.
References
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.