Electron: HID and USB permission checks can be attributed to the wrong origin
Published 21 Oct 2026 · Updated 21 Oct 2026
Affected packages
- Affected
- >=45.0.0-alpha.1 <45.0.0-alpha.5
- Fixed in
- 45.0.0-alpha.5
npm install electron@45.0.0-alpha.5- Affected
- >=44.0.0-alpha.1 <44.3.0
- Fixed in
- 44.3.0
npm install electron@44.3.0- Affected
- >=43.0.0-alpha.1 <43.7.0
- Fixed in
- 43.7.0
npm install electron@43.7.0- Affected
- <42.11.3
- Fixed in
- 42.11.3
npm install electron@42.11.3Details
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.544.3.043.7.042.11.3
For more information
If you have any questions or comments about this advisory, email us at [security@electronjs.org](mailto:security@electronjs.org)
Is GHSA-fw47-9c62-h3vw 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
- Linkgithub.com/electron/electron/security/advisories/GHSA-fw47-9c62-h3vw
- Linkgithub.com/electron/electron/pull/53656
- Linkgithub.com/electron/electron/pull/53679
- Linkgithub.com/electron/electron/pull/53688
- Linkgithub.com/electron/electron/pull/53689
- Linkgithub.com/electron/electron/pull/53736
- Linkgithub.com/electron/electron/commit/22de0a3a06cfd3174fc6c59c3810ab5e1c91bf1a
- Linkgithub.com/electron/electron/commit/36042b2e1b1c60c67b05ba0e95d1a34f608b9742
- Linkgithub.com/electron/electron/commit/56cc43eb677d46b86b0d3f49b5fba71404ab1ff0
- Linkgithub.com/electron/electron/commit/922073f8601479e93071f56f0745041291b206fd
- Linkgithub.com/electron/electron/commit/c965cee73284c4b230a81d51a7db6115e55da8c0
- Packagegithub.com/electron/electron
- Linkgithub.com/electron/electron/releases/tag/v42.11.3
- Linkgithub.com/electron/electron/releases/tag/v43.7.0
- Linkgithub.com/electron/electron/releases/tag/v44.3.0
- Linkgithub.com/electron/electron/releases/tag/v45.0.0-alpha.5
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.