CVE-2026-31729
Analyzed Analyzed - Analysis Complete

Out-of-Bounds Access in Linux Kernel USB Type-C UCSI

Vulnerability report for CVE-2026-31729, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-05-01

Last updated on: 2026-05-07

Assigner: kernel.org

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-05-01
Last Modified
2026-05-07
Generated
2026-07-06
AI Q&A
2026-05-01
EPSS Evaluated
2026-07-05
NVD
EUVD

Affected Vendors & Products

Showing 9 associated CPEs
Vendor Product Version / Range
linux linux_kernel 7.0
linux linux_kernel 7.0
linux linux_kernel 7.0
linux linux_kernel 7.0
linux linux_kernel 7.0
linux linux_kernel 7.0
linux linux_kernel From 6.13 (inc) to 6.18.22 (exc)
linux linux_kernel From 6.19 (inc) to 6.19.12 (exc)
linux linux_kernel From 5.5 (inc) to 6.12.81 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-129 The product uses untrusted input when calculating or using an array index, but the product does not validate or incorrectly validates the index to ensure the index references a valid position within the array.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability exists in the Linux kernel's USB Type-C subsystem, specifically in the ucsi_notify_common() function. The issue arises because the connector number extracted from the device's CCI (Connector Capability Information) is a 7-bit value (0-127), but the kernel only allocates an array sized for the actual number of connectors reported by the device, usually between 2 and 4.

A malicious or malfunctioning device can report a connector number that is out of the valid range, causing the kernel to perform an out-of-bounds array access in the ucsi_connector_change() function. This can lead to undefined behavior or potential security issues.

The vulnerability was fixed by adding a bounds check in ucsi_notify_common() to reject invalid connector numbers before they are processed further.

Impact Analysis

If exploited, this vulnerability could allow a malicious or malfunctioning USB Type-C device to cause the Linux kernel to access memory outside the bounds of an allocated array. This out-of-bounds access could lead to system instability, crashes, or potentially allow an attacker to execute arbitrary code or escalate privileges.

The impact depends on the specific system and how it handles such memory errors, but it generally poses a risk to system reliability and security when connecting untrusted USB Type-C devices.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-31729. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart