CVE-2026-34766 (GCVE-0-2026-34766)
Vulnerability from cvelistv5 – Published: 2026-04-03 23:35 – Updated: 2026-04-06 19:07
VLAI
EPSS
VEX
Title
Electron: USB device selection not validated against filtered device list
Summary
Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to versions 38.8.6, 39.8.0, 40.7.0, and 41.0.0-beta.8, 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. This issue has been patched in versions 38.8.6, 39.8.0, 40.7.0, and 41.0.0-beta.8.
Severity
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator (v2.0.3)
CWE
- CWE-862 - Missing Authorization
Assigner
References
1 reference
| URL | Tags |
|---|---|
| https://github.com/electron/electron/security/adv… | x_refsource_CONFIRM |
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-34766",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-04-06T19:07:01.376095Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-04-06T19:07:15.349Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "electron",
"vendor": "electron",
"versions": [
{
"status": "affected",
"version": "\u003c 38.8.6"
},
{
"status": "affected",
"version": "\u003e= 39.0.0-alpha.1, \u003c 39.8.0"
},
{
"status": "affected",
"version": "\u003e= 40.0.0-alpha.1, \u003c 40.7.0"
},
{
"status": "affected",
"version": "\u003e= 41.0.0-alpha.1, \u003c 41.0.0-beta.8"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to versions 38.8.6, 39.8.0, 40.7.0, and 41.0.0-beta.8, 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\u0027s 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. This issue has been patched in versions 38.8.6, 39.8.0, 40.7.0, and 41.0.0-beta.8."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "HIGH",
"attackVector": "LOCAL",
"availabilityImpact": "NONE",
"baseScore": 3.3,
"baseSeverity": "LOW",
"confidentialityImpact": "LOW",
"integrityImpact": "LOW",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "REQUIRED",
"vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:N",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-862",
"description": "CWE-862: Missing Authorization",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-04-03T23:35:10.204Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/electron/electron/security/advisories/GHSA-9899-m83m-qhpj",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/electron/electron/security/advisories/GHSA-9899-m83m-qhpj"
}
],
"source": {
"advisory": "GHSA-9899-m83m-qhpj",
"discovery": "UNKNOWN"
},
"title": "Electron: USB device selection not validated against filtered device list"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-34766",
"datePublished": "2026-04-03T23:35:10.204Z",
"dateReserved": "2026-03-30T19:54:55.554Z",
"dateUpdated": "2026-04-06T19:07:15.349Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2026-34766",
"date": "2026-07-26",
"epss": "0.00162",
"percentile": "0.05811"
},
"nvd": "{\"cve\":{\"id\":\"CVE-2026-34766\",\"sourceIdentifier\":\"security-advisories@github.com\",\"published\":\"2026-04-04T00:16:17.140\",\"lastModified\":\"2026-07-24T22:10:00.140\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to versions 38.8.6, 39.8.0, 40.7.0, and 41.0.0-beta.8, 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\u0027s 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. This issue has been patched in versions 38.8.6, 39.8.0, 40.7.0, and 41.0.0-beta.8.\"},{\"lang\":\"es\",\"value\":\"Electron es un framework para escribir aplicaciones de escritorio multiplataforma usando JavaScript, HTML y CSS. Antes de las versiones 38.8.6, 39.8.0, 40.7.0 y 41.0.0-beta.8, la devoluci\u00f3n de llamada del evento select-usb-device no validaba el ID de dispositivo elegido contra la lista filtrada que se presentaba al gestor. Una aplicaci\u00f3n cuyo gestor pudiera ser influenciado para seleccionar un ID de dispositivo fuera del conjunto filtrado conceder\u00eda acceso a un dispositivo que no coincid\u00eda con los filtros solicitados por el renderizador o estaba listado en exclusionFilters. La lista de bloqueo de seguridad de WebUSB permaneci\u00f3 aplicada de todos modos, por lo que los dispositivos sensibles a la seguridad en la lista de bloqueo no se vieron afectados. El impacto pr\u00e1ctico se limita a aplicaciones con l\u00f3gica de selecci\u00f3n de dispositivos inusual. Este problema ha sido parcheado en las versiones 38.8.6, 39.8.0, 40.7.0 y 41.0.0-beta.8.\"}],\"affected\":[{\"source\":\"security-advisories@github.com\",\"affectedData\":[{\"vendor\":\"electron\",\"product\":\"electron\",\"versions\":[{\"version\":\"\u003c 38.8.6\",\"status\":\"affected\"},{\"version\":\"\u003e= 39.0.0-alpha.1, \u003c 39.8.0\",\"status\":\"affected\"},{\"version\":\"\u003e= 40.0.0-alpha.1, \u003c 40.7.0\",\"status\":\"affected\"},{\"version\":\"\u003e= 41.0.0-alpha.1, \u003c 41.0.0-beta.8\",\"status\":\"affected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:N\",\"baseScore\":3.3,\"baseSeverity\":\"LOW\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"HIGH\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"REQUIRED\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"LOW\",\"integrityImpact\":\"LOW\",\"availabilityImpact\":\"NONE\"},\"exploitabilityScore\":0.8,\"impactScore\":2.5},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N\",\"baseScore\":5.4,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"REQUIRED\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"LOW\",\"integrityImpact\":\"LOW\",\"availabilityImpact\":\"NONE\"},\"exploitabilityScore\":2.8,\"impactScore\":2.5}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2026-04-06T19:07:01.376095Z\",\"id\":\"CVE-2026-34766\",\"options\":[{\"exploitation\":\"none\"},{\"automatable\":\"no\"},{\"technicalImpact\":\"partial\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-862\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:electronjs:electron:*:*:*:*:*:node.js:*:*\",\"versionEndExcluding\":\"38.8.6\",\"matchCriteriaId\":\"9CE003A2-03CC-4355-AA17-2CBD204EC6C3\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:electronjs:electron:*:*:*:*:*:node.js:*:*\",\"versionStartIncluding\":\"39.0.0\",\"versionEndExcluding\":\"39.8.0\",\"matchCriteriaId\":\"642CA6B2-000A-480D-B062-80593D150787\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:electronjs:electron:*:*:*:*:*:node.js:*:*\",\"versionStartIncluding\":\"40.0.0\",\"versionEndExcluding\":\"40.7.0\",\"matchCriteriaId\":\"E54036E0-1D1F-4265-A2F3-B9C1F88F65ED\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:electronjs:electron:41.0.0:alpha1:*:*:*:node.js:*:*\",\"matchCriteriaId\":\"A20225D6-F435-4D09-962D-B162F521B6AD\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:electronjs:electron:41.0.0:alpha2:*:*:*:node.js:*:*\",\"matchCriteriaId\":\"33712802-EB60-4E9A-83B8-9F2320B70CB4\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:electronjs:electron:41.0.0:alpha3:*:*:*:node.js:*:*\",\"matchCriteriaId\":\"9D0A9142-54FE-47BB-9FEB-5E97528E28FE\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:electronjs:electron:41.0.0:alpha4:*:*:*:node.js:*:*\",\"matchCriteriaId\":\"9E1D191F-DEAE-4DB3-9822-F31AF9FE3BAC\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:electronjs:electron:41.0.0:alpha5:*:*:*:node.js:*:*\",\"matchCriteriaId\":\"45A8192F-3D2C-4987-9BBE-7ECC3F71965D\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:electronjs:electron:41.0.0:alpha6:*:*:*:node.js:*:*\",\"matchCriteriaId\":\"EEA1A2E5-03DB-46CB-8427-7F31A8A7CE1C\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:electronjs:electron:41.0.0:beta1:*:*:*:node.js:*:*\",\"matchCriteriaId\":\"B2DFCE75-BD3F-4537-B5B8-14097E262EA2\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:electronjs:electron:41.0.0:beta2:*:*:*:node.js:*:*\",\"matchCriteriaId\":\"BC346E25-EA43-4615-8CDB-16D15D46E4FF\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:electronjs:electron:41.0.0:beta3:*:*:*:node.js:*:*\",\"matchCriteriaId\":\"FA5B3C00-CAFC-4995-BF35-9920F3039E77\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:electronjs:electron:41.0.0:beta4:*:*:*:node.js:*:*\",\"matchCriteriaId\":\"3672F3FB-6B5E-40FD-8A92-CB4DD6BC6A93\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:electronjs:electron:41.0.0:beta5:*:*:*:node.js:*:*\",\"matchCriteriaId\":\"9EE4F8AE-21D2-4815-85B7-B7ECCC0D5059\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:electronjs:electron:41.0.0:beta6:*:*:*:node.js:*:*\",\"matchCriteriaId\":\"D195760C-7DD9-4259-9042-EDE65AEAC1D6\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:electronjs:electron:41.0.0:beta7:*:*:*:node.js:*:*\",\"matchCriteriaId\":\"B370859F-24D3-4B25-B580-1A5B6DB94BFE\"}]}]}],\"references\":[{\"url\":\"https://github.com/electron/electron/security/advisories/GHSA-9899-m83m-qhpj\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Vendor Advisory\"]}]}}",
"redhat_vex": {
"aggregate_severity": "Low",
"current_release_date": "2026-06-30T11:52:22+00:00",
"cve": "CVE-2026-34766",
"id": "CVE-2026-34766",
"initial_release_date": "2026-04-03T23:35:10.204000+00:00",
"product_status:known_affected": "3",
"source": "Red Hat CSAF VEX",
"status": "final",
"title": "Electron: Electron: Unauthorized USB device access via select-usb-device event callback validation bypass",
"url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-34766.json",
"version": "3"
},
"vulnrichment": {
"containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2026-34766\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-04-06T19:07:01.376095Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-04-06T19:07:11.210Z\"}}], \"cna\": {\"title\": \"Electron: USB device selection not validated against filtered device list\", \"source\": {\"advisory\": \"GHSA-9899-m83m-qhpj\", \"discovery\": \"UNKNOWN\"}, \"metrics\": [{\"cvssV3_1\": {\"scope\": \"UNCHANGED\", \"version\": \"3.1\", \"baseScore\": 3.3, \"attackVector\": \"LOCAL\", \"baseSeverity\": \"LOW\", \"vectorString\": \"CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:N\", \"integrityImpact\": \"LOW\", \"userInteraction\": \"REQUIRED\", \"attackComplexity\": \"HIGH\", \"availabilityImpact\": \"NONE\", \"privilegesRequired\": \"LOW\", \"confidentialityImpact\": \"LOW\"}}], \"affected\": [{\"vendor\": \"electron\", \"product\": \"electron\", \"versions\": [{\"status\": \"affected\", \"version\": \"\u003c 38.8.6\"}, {\"status\": \"affected\", \"version\": \"\u003e= 39.0.0-alpha.1, \u003c 39.8.0\"}, {\"status\": \"affected\", \"version\": \"\u003e= 40.0.0-alpha.1, \u003c 40.7.0\"}, {\"status\": \"affected\", \"version\": \"\u003e= 41.0.0-alpha.1, \u003c 41.0.0-beta.8\"}]}], \"references\": [{\"url\": \"https://github.com/electron/electron/security/advisories/GHSA-9899-m83m-qhpj\", \"name\": \"https://github.com/electron/electron/security/advisories/GHSA-9899-m83m-qhpj\", \"tags\": [\"x_refsource_CONFIRM\"]}], \"descriptions\": [{\"lang\": \"en\", \"value\": \"Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to versions 38.8.6, 39.8.0, 40.7.0, and 41.0.0-beta.8, 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\u0027s 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. This issue has been patched in versions 38.8.6, 39.8.0, 40.7.0, and 41.0.0-beta.8.\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-862\", \"description\": \"CWE-862: Missing Authorization\"}]}], \"providerMetadata\": {\"orgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"shortName\": \"GitHub_M\", \"dateUpdated\": \"2026-04-03T23:35:10.204Z\"}}}",
"cveMetadata": "{\"cveId\": \"CVE-2026-34766\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-04-06T19:07:15.349Z\", \"dateReserved\": \"2026-03-30T19:54:55.554Z\", \"assignerOrgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"datePublished\": \"2026-04-03T23:35:10.204Z\", \"assignerShortName\": \"GitHub_M\"}",
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
}
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
The MITRE ATT&CK techniques below are AI-generated suggestions, inferred from the description of the
vulnerability by the CIRCL/vulnerability-attack-technique-classification-roberta-base
model, served locally by ML-Gateway.
They have not been verified by an analyst and are provided for guidance only.
Loading…
Loading…