GitHub Advisoryadvisory · npm
GHSA-fw47-9c62-h3vw Electron: HID and USB permission checks can be attributed to the wrong origin
MEDIUM
Official page ↗
- Aliases
- CVE-2026-113800
- Ecosystem
- npm
- Packages
- electron
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N
- Weaknesses
- CWE-346
- Reviewed
- 2026-10-21
Affected packages
• npm electron: >= 45.0.0-alpha.1, < 45.0.0-alpha.5 → fixed in 45.0.0-alpha.5
• npm electron: >= 44.0.0-alpha.1, < 44.3.0 → fixed in 44.3.0
• npm electron: >= 43.0.0-alpha.1, < 43.7.0 → fixed in 43.7.0
• npm electron: < 42.11.3 → fixed in 42.11.3
Description
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]
Related
Alias · CVE (1)
- CVE-2026-113800 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
- https://github.com/electron/electron/security/advisories/GHSA-fw47-9c62-h3vw web
- https://github.com/electron/electron/pull/53656 web
- https://github.com/electron/electron/pull/53679 web
- https://github.com/electron/electron/pull/53688 web
- https://github.com/electron/electron/pull/53689 web
- https://github.com/electron/electron/pull/53736 web
- https://github.com/electron/electron/commit/22de0a3a06cfd3174fc6c59c3810ab5e1c91bf1a web
- https://github.com/electron/electron/commit/36042b2e1b1c60c67b05ba0e95d1a34f608b9742 web
- https://github.com/electron/electron/commit/56cc43eb677d46b86b0d3f49b5fba71404ab1ff0 web
- https://github.com/electron/electron/commit/922073f8601479e93071f56f0745041291b206fd web
- https://github.com/electron/electron/commit/c965cee73284c4b230a81d51a7db6115e55da8c0 web
- https://github.com/electron/electron package
- https://github.com/electron/electron/releases/tag/v42.11.3 web
- https://github.com/electron/electron/releases/tag/v43.7.0 web
- https://github.com/electron/electron/releases/tag/v44.3.0 web
- https://github.com/electron/electron/releases/tag/v45.0.0-alpha.5 web