VDB
KO
LOW 3.4

GHSA-3p22-ghq8-v749

Renderers can obtain access to random bluetooth device without permission in Electron

Details

### Impact This vulnerability allows renderers to obtain access to a random bluetooth device via the [web bluetooth API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Bluetooth_API) if the app has not configured a custom `select-bluetooth-device` event handler. The device that is accessed is random and the attacker would have no way of selecting a specific device.

All current stable versions of Electron are affected.

### Patches This has been patched and the following Electron versions contain the fix: * `17.0.0-alpha.6` * `16.0.6` * `15.3.5` * `14.2.4` * `13.6.6`

### Workarounds Adding this code to your app can workaround the issue.

```js app.on('web-contents-created', (event, webContents) => { webContents.on('select-bluetooth-device', (event, devices, callback) => { // Prevent default behavior event.preventDefault(); // Cancel the request callback(''); }); }); ```

For more information If you have any questions or comments about this advisory, email us at security@electronjs.org.

Are you affected?

Enter the version of the package you're using.

Affected packages

npm / electron
Introduced in: 0 Fixed in: 13.6.6
Fix npm install electron@13.6.6
npm / electron
Introduced in: 14.0.0-beta.1 Fixed in: 14.2.4
Fix npm install electron@14.2.4
npm / electron
Introduced in: 15.0.0-beta.1 Fixed in: 15.3.5
Fix npm install electron@15.3.5
npm / electron
Introduced in: 16.0.0-beta.1 Fixed in: 16.0.6
Fix npm install electron@16.0.6
npm / electron
Introduced in: 17.0.0-alpha.1 Fixed in: 17.0.0-alpha.6
Fix npm install electron@17.0.0-alpha.6

References