CVE-2026-34766 (GCVE-0-2026-34766)

Vulnerability from cvelistv5 – Published: 2026-04-03 23:35 – Updated: 2026-04-06 19:07
VLAI
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.
SSVC
Exploitation: none Automatable: no Technical Impact: partial
CISA Coordinator (v2.0.3)
CWE
Assigner
References
Impacted products
Vendor Product Version
electron electron Affected: < 38.8.6
Affected: >= 39.0.0-alpha.1, < 39.8.0
Affected: >= 40.0.0-alpha.1, < 40.7.0
Affected: >= 41.0.0-alpha.1, < 41.0.0-beta.8
Create a notification for this product.
Show details on NVD website

{
  "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"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

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…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…