Skip to content
Heist/ feed
Back to feed
UnratedFix available

usb: typec: ucsi: validate connector number in ucsi_notify_common()

Type: advisorySources: OSV

In the Linux kernel, the following vulnerability has been resolved: usb: typec: ucsi: validate connector number in ucsi_notify_common() The connector number extracted from CCI via UCSI_CCI_CONNECTOR() is a 7-bit field (0-127) that is used to index into the connector array in ucsi_connector_change(). However, the array is only allocated for the number of connectors reported by the device (typically 2-4 entries). A malicious or malfunctioning device could report an out-of-range connector number in the CCI, causing an out-of-bounds array access in ucsi_connector_change(). Add a bounds check in ucsi_notify_common(), the central point where CCI is parsed after arriving from hardware, so that bogus connector numbers are rejected before they propagate further.

Products
Kernel
Affected versions
Not specified
Fixed versions
6.12.81, 6.18.22, 6.19.12
CVEs
CVE-2026-31729
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 17:36 UTC · Revision 1

Source evidence

usb: typec: ucsi: validate connector number in ucsi_notify_common()

core-osv · Original source

Published 1 May 2026, 14:14 UTC

In the Linux kernel, the following vulnerability has been resolved: usb: typec: ucsi: validate connector number in ucsi_notify_common() The connector number extracted from CCI via UCSI_CCI_CONNECTOR() is a 7-bit field (0-127) that is used to index into the connector array in ucsi_connector_change(). However, the array is only allocated for the number of connectors reported by the device (typically 2-4 entries). A malicious or malfunctioning device could report an out-of-range connector number in the CCI, causing an out-of-bounds array access in ucsi_connector_change(). Add a bounds check in ucsi_notify_common(), the central point where CCI is parsed after arriving from hardware, so that bogus connector numbers are rejected before they propagate further.

osv:CVE-2026-31729

Kernel

Fixed versions: 6.12.81, 6.18.22, 6.19.12

Complete source record
{
  "id": "51c407b328d2c46de3fa4e25f0b29ee37903553222207ce8a0fdfe2a5fc47f61",
  "url": "https://osv.dev/vulnerability/CVE-2026-31729",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "usb: typec: ucsi: validate connector number in ucsi_notify_common()",
    "summary": "In the Linux kernel, the following vulnerability has been resolved: usb: typec: ucsi: validate connector number in ucsi_notify_common() The connector number extracted from CCI via UCSI_CCI_CONNECTOR() is a 7-bit field (0-127) that is used to index into the connector array in ucsi_connector_change(). However, the array is only allocated for the number of connectors reported by the device (typically 2-4 entries). A malicious or malfunctioning device could report an out-of-range connector number in the CCI, causing an out-of-bounds array access in ucsi_connector_change(). Add a bounds check in ucsi_notify_common(), the central point where CCI is parsed after arriving from hardware, so that bogus connector numbers are rejected before they propagate further.",
    "evidence": "osv:CVE-2026-31729",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "6.12.81",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.18.22",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.19.12",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "unknown",
    "structured": {
      "id": "CVE-2026-31729",
      "aliases": [
        "CVE-2026-31729"
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "bdc62f2bae8fb0e8e99574de5232f0a3c54a27df"
                },
                {
                  "fixed": "f6dcbf2b024d55549959402f1db6c614e51d52cb"
                },
                {
                  "fixed": "f4e608fe12b7ac6a4a57176ab0296bb5a110a078"
                },
                {
                  "fixed": "98429e9ec89a5e3a204112dfaa2dbe6ca28493a0"
                },
                {
                  "fixed": "d2d8c17ac01a1b1f638ea5d340a884ccc5015186"
                }
              ]
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-31729.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.5.0"
                },
                {
                  "fixed": "6.12.81"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.13.0"
                },
                {
                  "fixed": "6.18.22"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.19.0"
                },
                {
                  "fixed": "6.19.12"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-31729.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:31.081073660Z",
      "provider": "osv",
      "references": [
        "https://git.kernel.org/stable/c/98429e9ec89a5e3a204112dfaa2dbe6ca28493a0",
        "https://git.kernel.org/stable/c/d2d8c17ac01a1b1f638ea5d340a884ccc5015186",
        "https://git.kernel.org/stable/c/f4e608fe12b7ac6a4a57176ab0296bb5a110a078",
        "https://git.kernel.org/stable/c/f6dcbf2b024d55549959402f1db6c614e51d52cb",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31729.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-31729",
        "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
      ],
      "provider_metadata": {
        "cna_assigner": "Linux",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31729.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-31729",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": null
  },
  "source_id": "core-osv",
  "document_id": 497893,
  "published_at": "2026-05-01T14:14:28.868+00:00"
}