Renderers can obtain access to random bluetooth device without permission in Electron
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Information disclosure, Security bypass
- Confidentiality · integrity · availability
- Low · None · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · NVD. Fix status from CNA and GitHub. Impact type from CWE-668, CWE-862 and the CVSS impact.
Summary
Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. A vulnerability in versions prior to `17.0.0-alpha.6`, `16.0.6`, `15.3.5`, `14.2.4`, and `13.6.6` allows renderers to obtain access to a bluetooth device via the web bluetooth API if the app has not configured a custom `select-bluetooth-device` event handler. This has been patched and Electron versions `17.0.0-alpha.6`, `16.0.6`, `15.3.5`, `14.2.4`, and `13.6.6` contain the fix. Code from the GitHub Security Advisory can be added to the app to work around the issue.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| electron | electron | before 13.6.6; 14.0.0-beta.1 to before 14.2.4; 15.0.0-beta.1 to before 15.3.5; 16.0.0-beta.1 to before 16.0.6; 17.0.0-alpha.1 – 17.0.0-alpha.5 | 13.6.6, 14.2.4, 15.3.5, 16.0.6 | Patch available | CNA |
| — | electron (npm) | before 13.6.6 | 13.6.6 | Patch available | GHSA-3p22-ghq8-v749 |
| — | electron (npm) | 14.0.0-beta.1 to before 14.2.4 | 14.2.4 | Patch available | GHSA-3p22-ghq8-v749 |
| — | electron (npm) | 15.0.0-beta.1 to before 15.3.5 | 15.3.5 | Patch available | GHSA-3p22-ghq8-v749 |
| — | electron (npm) | 16.0.0-beta.1 to before 16.0.6 | 16.0.6 | Patch available | GHSA-3p22-ghq8-v749 |
| — | electron (npm) | 17.0.0-alpha.1 to before 17.0.0-alpha.6 | 17.0.0-alpha.6 | Patch available | GHSA-3p22-ghq8-v749 |
- electron Vendorelectron Affected before 13.6.6; 14.0.0-beta.1 to before 14.2.4; 15.0.0-beta.1 to before 15.3.5; 16.0.0-beta.1 to before 16.0.6; 17.0.0-alpha.1 – 17.0.0-alpha.5 Fixed in 13.6.6, 14.2.4, 15.3.5, 16.0.6 Patch available CNA
- electron (npm) Vendor— Affected before 13.6.6 Fixed in 13.6.6 Patch available GHSA-3p22-ghq8-v749
- electron (npm) Vendor— Affected 14.0.0-beta.1 to before 14.2.4 Fixed in 14.2.4 Patch available GHSA-3p22-ghq8-v749
- electron (npm) Vendor— Affected 15.0.0-beta.1 to before 15.3.5 Fixed in 15.3.5 Patch available GHSA-3p22-ghq8-v749
- electron (npm) Vendor— Affected 16.0.0-beta.1 to before 16.0.6 Fixed in 16.0.6 Patch available GHSA-3p22-ghq8-v749
- electron (npm) Vendor— Affected 17.0.0-alpha.1 to before 17.0.0-alpha.6 Fixed in 17.0.0-alpha.6 Patch available GHSA-3p22-ghq8-v749
CPE configurations NVD · 6
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:electronjs:electron:*:*:*:*:*:*:*:* | before 13.6.6; 14.0.0 to before 14.2.4; 15.0.0 to before 15.3.5; 16.0.0 to before 16.0.6 | Vulnerable | Electronjs |
| cpe:2.3:a:electronjs:electron:17.0.0:alpha1:*:*:*:*:*:* | 17.0.0 alpha1 | Vulnerable | Electronjs |
| cpe:2.3:a:electronjs:electron:17.0.0:alpha2:*:*:*:*:*:* | 17.0.0 alpha2 | Vulnerable | Electronjs |
| cpe:2.3:a:electronjs:electron:17.0.0:alpha3:*:*:*:*:*:* | 17.0.0 alpha3 | Vulnerable | Electronjs |
| cpe:2.3:a:electronjs:electron:17.0.0:alpha4:*:*:*:*:*:* | 17.0.0 alpha4 | Vulnerable | Electronjs |
| cpe:2.3:a:electronjs:electron:17.0.0:alpha5:*:*:*:*:*:* | 17.0.0 alpha5 | Vulnerable | Electronjs |
- cpe:2.3:a:electronjs:electron:*:*:*:*:*:*:*:* Versions before 13.6.6; 14.0.0 to before 14.2.4; 15.0.0 to before 15.3.5; 16.0.0 to before 16.0.6 Vulnerable ·Electronjs
- cpe:2.3:a:electronjs:electron:17.0.0:alpha1:*:*:*:*:*:* Versions 17.0.0 alpha1 Vulnerable ·Electronjs
- cpe:2.3:a:electronjs:electron:17.0.0:alpha2:*:*:*:*:*:* Versions 17.0.0 alpha2 Vulnerable ·Electronjs
- cpe:2.3:a:electronjs:electron:17.0.0:alpha3:*:*:*:*:*:* Versions 17.0.0 alpha3 Vulnerable ·Electronjs
- cpe:2.3:a:electronjs:electron:17.0.0:alpha4:*:*:*:*:*:* Versions 17.0.0 alpha4 Vulnerable ·Electronjs
- cpe:2.3:a:electronjs:electron:17.0.0:alpha5:*:*:*:*:*:* Versions 17.0.0 alpha5 Vulnerable ·Electronjs
Remediation
- Fix · CNA electron (electron) Fixed in 13.6.6, 14.2.4, 15.3.5, 16.0.6
- Fix · GHSA-3p22-ghq8-v749 electron (npm) Fixed in 13.6.6 Advisory →
- Fix · GHSA-3p22-ghq8-v749 electron (npm) Fixed in 14.2.4 Advisory →
- Fix · GHSA-3p22-ghq8-v749 electron (npm) Fixed in 15.3.5 Advisory →
- Fix · GHSA-3p22-ghq8-v749 electron (npm) Fixed in 16.0.6 Advisory →
- Fix · GHSA-3p22-ghq8-v749 electron (npm) Fixed in 17.0.0-alpha.6 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2022-21718
- 2026-10-03 Alias added: GHSA-3p22-ghq8-v749
References
More electron vulnerabilities
- TI-2026-39496 Information disclosure in electron-builder CVSS 4.0HIGH 8.2
- TI-2024-26621 Code Signing Bypass on Windows in electron-updater < 6.3.0-alpha.6 CVSS 3.1HIGH 7.5
- TI-2023-09452 Content-Secrity-Policy disabling eval not applied consistently in renderers with sandbox disabled in Electron CVSS 3.1CRITICAL 9.8
- TI-2026-39157 Electron: Buffer performs incorrect byte length calculations resulting in heap buffer under/overflow CVSS 4.0CRITICAL 9.3
- TI-2017-09308 GitHub Electron before 1.6.8 allows remote command execution because of a nodeIntegration… CVSS 3.0HIGH 8.1
- TI-2022-11788 Exposure of Resource to Wrong Sphere in Electron CVSS 3.1CRITICAL 9.8
Sources
- CVE-2022-21718 · CVE Program
- CVE-2022-21718 · NVD
- FIRST EPSS
- GHSA-3p22-ghq8-v749 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences