Electron: USB device selection not validated against filtered device list
Published 3 Apr 2026 · Updated 6 Apr 2026
Affected packages
- Affected
- <38.8.6
- Fixed in
- 38.8.6
npm install electron@38.8.6- Affected
- >=39.0.0-alpha.1 <39.8.0
- Fixed in
- 39.8.0
npm install electron@39.8.0- Affected
- >=40.0.0-alpha.1 <40.7.0
- Fixed in
- 40.7.0
npm install electron@40.7.0- Affected
- >=41.0.0-alpha.1 <41.0.0-beta.8
- Fixed in
- 41.0.0-beta.8
npm install electron@41.0.0-beta.8Details
Impact
The select-usb-device event callback did not validate the chosen device ID against the filtered list that was presented to the handler. An app whose handler could be influenced to select a device ID outside the filtered set would grant access to a device that did not match the renderer's requested filters or was listed in exclusionFilters.
The WebUSB security blocklist remained enforced regardless, so security-sensitive devices on the blocklist were not affected. The practical impact is limited to apps with unusual device-selection logic.
Workarounds
There are no app side workarounds, you must update to a patched version of Electron.
Fixed Versions
41.0.0-beta.840.7.039.8.038.8.6
For more information
If there are any questions or comments about this advisory, send an email to [security@electronjs.org](mailto:security@electronjs.org)
Is GHSA-9899-m83m-qhpj 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
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.