GitHub Advisoryadvisory · npm

GHSA-r5p7-gp4j-qhrx Electron: Incorrect origin passed to permission request handler for iframe requests

MEDIUM Published 2026-04-03 Modified 2026-04-06 Official page ↗
Aliases
CVE-2026-34777
Ecosystem
npm
Packages
electron
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N
Weaknesses
CWE-346
Reviewed
2026-04-03

Affected packages

• npm electron: < 38.8.6 → fixed in 38.8.6 • npm electron: >= 39.0.0-alpha.1, < 39.8.1 → fixed in 39.8.1 • npm electron: >= 40.0.0-alpha.1, < 40.8.1 → fixed in 40.8.1 • npm electron: >= 41.0.0-alpha.1, < 41.0.0 → fixed in 41.0.0

Description

Impact When an iframe requests `fullscreen`, `pointerLock`, `keyboardLock`, `openExternal`, or `media` permissions, the origin passed to `session.setPermissionRequestHandler()` was the top-level page's origin rather than the requesting iframe's origin. Apps that grant permissions based on the origin parameter or `webContents.getURL()` may inadvertently grant permissions to embedded third-party content. The correct requesting URL remains available via `details.requestingUrl`. Apps that already check `details.requestingUrl` are not affected. Workarounds In your `setPermissionRequestHandler`, inspect `details.requestingUrl` rather than the origin parameter or `webContents.getURL()` when deciding whether to grant `fullscreen`, `pointerLock`, `keyboardLock`, `openExternal`, or `media` permissions. Fixed Versions • `41.0.0` • `40.8.1` • `39.8.1` • `38.8.6` For more information If there are any questions or comments about this advisory, please email [email protected]

Related

Alias · CVE (1)

  • CVE-2026-34777 Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. vulnerability

Weakness · CWE (1)

  • CWE-346 Origin Validation Error weakness

References