VDB
KO
MEDIUM 5.4

GHSA-r5p7-gp4j-qhrx

Electron: Incorrect origin passed to permission request handler for iframe requests

Details

### 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 [security@electronjs.org](mailto:security@electronjs.org)

Are you affected?

Enter the version of the package you're using.

Affected packages

npm / electron
Introduced in: 0 Fixed in: 38.8.6
Fix npm install electron@38.8.6
npm / electron
Introduced in: 39.0.0-alpha.1 Fixed in: 39.8.1
Fix npm install electron@39.8.1
npm / electron
Introduced in: 40.0.0-alpha.1 Fixed in: 40.8.1
Fix npm install electron@40.8.1
npm / electron
Introduced in: 41.0.0-alpha.1 Fixed in: 41.0.0
Fix npm install electron@41.0.0

References