GHSA-fw47-9c62-h3vw
Electron: HID and USB permission checks can be attributed to the wrong origin
Packages
Details
As written in the advisory (Markdown source, shown as plain text).
### Impact
For `hid` and `usb` permission checks made from an iframe, `session.setPermissionCheckHandler` was given the top-level frame's origin and details instead of the requesting frame's. Apps that allow these permissions based on origin could grant an embedded frame access intended for the top-level page.
You're only affected if you use `setPermissionCheckHandler` with origin-based logic for `hid` or `usb` and embed cross-origin iframes with `allow="hid"` or `allow="usb"`. Apps that don't delegate those features to untrusted iframes are not affected.
### Workarounds
Don't add `allow="hid"` / `allow="usb"` to untrusted iframes, or make the decision in your `select-hid-device` / `select-usb-device` handler using `details.frame`.
### Fixed Versions
* `45.0.0-alpha.5`
* `44.3.0`
* `43.7.0`
* `42.11.3`
### For more information
If you have any questions or comments about this advisory, email us at [[email protected]](mailto:[email protected])
References
External links from the advisory. They lead to third-party sites.
- https://github.com/electron/electron/security/advisories/GHSA-fw47-9c62-h3vw
- https://github.com/electron/electron/pull/53656
- https://github.com/electron/electron/pull/53679
- https://github.com/electron/electron/pull/53688
- https://github.com/electron/electron/pull/53689
- https://github.com/electron/electron/pull/53736
- https://github.com/electron/electron/commit/22de0a3a06cfd3174fc6c59c3810ab5e1c91bf1a
- https://github.com/electron/electron/commit/36042b2e1b1c60c67b05ba0e95d1a34f608b9742
- https://github.com/electron/electron/commit/56cc43eb677d46b86b0d3f49b5fba71404ab1ff0
- https://github.com/electron/electron/commit/922073f8601479e93071f56f0745041291b206fd
- https://github.com/electron/electron/commit/c965cee73284c4b230a81d51a7db6115e55da8c0
- https://github.com/electron/electron
- https://github.com/electron/electron/releases/tag/v42.11.3
- https://github.com/electron/electron/releases/tag/v43.7.0
- https://github.com/electron/electron/releases/tag/v44.3.0
- https://github.com/electron/electron/releases/tag/v45.0.0-alpha.5