Skip to main content

Linux Kernel CVE-2026-31729

| EUVDEUVD-2026-26542 HIGH
Improper Validation of Array Index (CWE-129)
2026-05-01 Linux
7.8
CVSS 3.1 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain local system access
  2. Delivery
    Connect malicious USB-C device
  3. Exploit
    Device firmware sends crafted CCI with invalid connector number
  4. Execution
    Kernel UCSI driver performs out-of-bounds array access
  5. Persist
    Overwrite adjacent kernel memory structures
  6. Impact
    Execute arbitrary code as root

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Array index validation
Exploitation Conditions

Requires local authenticated access (PR:L) to the Linux system and ability to connect or control a USB Type-C device. Exploitation specifically requires that the system has active UCSI driver support (ucsi_acpi or platform-specific UCSI modules loaded) and at least one USB Type-C port managed through UCSI firmware interface. The vulnerable code path is triggered when hardware sends a CCI notification with connector number exceeding the actual connector count reported during driver initialization, which can occur through: (1) physically connecting a malicious USB-C device with custom firmware designed to send invalid CCI messages, or (2) compromising platform firmware (BIOS/UEFI/BMC) that mediates UCSI communication between hardware and OS driver. Attack complexity is low (AC:L) once these prerequisites are met - no race conditions or complex timing requirements exist. User interaction is not required (UI:N). Exploitation is limited to systems using kernel versions 5.5 through unpatched 6.x series where UCSI support exists; older kernels without UCSI and properly patched kernels are not vulnerable. Physical access control and trusted USB-C peripheral sources significantly limit real-world exploitation risk.

Impact

Real-world risk is moderate despite the high CVSS 7.8 base score. The CVSS vector (AV:L/AC:L/PR:L/UI:N) indicates local attack requiring authenticated access with low complexity, limiting remote exploitation scenarios. The EPSS score of 0.02% (5th percentile) suggests extremely low probability of mass exploitation in the wild, and CISA KEV does not list this vulnerability, confirming no observed active exploitation. However, the technical impact is severe (C:H/I:H/A:H) - successful exploitation grants arbitrary memory access in kernel context, potentially enabling privilege escalation, information disclosure, or denial of service. The attack requires either physical access to connect a malicious USB-C device or prior compromise of system firmware/BMC to inject crafted CCI messages, significantly raising the exploitation barrier. For organizations using Linux systems with USB Type-C ports (laptops, modern servers, embedded systems), the risk is real but constrained to scenarios where attackers already have local presence or can introduce malicious hardware. The availability of vendor patches across multiple stable kernel branches (6.12.81, 6.18.22, 6.19.12, 7.0) and the straightforward fix (simple bounds check) make remediation practical. Priority should be elevated for environments with untrusted physical access (shared workstations, kiosks, labs) or where USB-C docking stations from unverified sources are common.

Exploit ScenarioDerived

An attacker with physical access connects a malicious USB-C device (such as a modified docking station or custom hardware) to a vulnerable Linux system. The device's firmware sends a crafted UCSI CCI message with connector number field set to 120 (far exceeding the typical 2-4 connector array allocation). The kernel's ucsi_notify_common() function extracts this value and passes it to ucsi_connector_change(), which performs an out-of-bounds read/write at &ucsi->connector[120]. By carefully controlling the out-of-bounds offset and leveraging knowledge of kernel memory layout (obtainable via other info leaks), the attacker overwrites adjacent kernel structures to hijack control flow and execute arbitrary code with kernel privileges, achieving full system compromise.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – May 07, 2026

Out-of-bounds array access in Linux kernel UCSI (USB Type-C Connector System Software Interface) driver allows local authenticated attackers to achieve arbitrary code execution or system crash. A malicious USB-C device or compromised firmware can send a crafted CCI (Connector Change Indicator) message with an invalid connector number (0-127) that exceeds the allocated connector array bounds (typically 2-4 entries), triggering memory corruption in ucsi_connector_change(). Vendor patches available for kernel 6.12.81, 6.18.22, 6.19.12, and mainline 7.0. EPSS score of 0.02% (5th percentile) indicates very low observed exploitation probability, and no active exploitation or public POC currently identified.

RemediationAI

Upgrade to patched Linux kernel versions: 6.12.81 or later for 6.12.x series, 6.18.22 or later for 6.18.x series, 6.19.12 or later for 6.19.x series, or mainline 7.0 or later. Patch commits available at https://git.kernel.org/stable/c/f6dcbf2b024d55549959402f1db6c614e51d52cb (mainline), https://git.kernel.org/stable/c/f4e608fe12b7ac6a4a57176ab0296bb5a110a078, https://git.kernel.org/stable/c/98429e9ec89a5e3a204112dfaa2dbe6ca28493a0, and https://git.kernel.org/stable/c/d2d8c17ac01a1b1f638ea5d340a884ccc5015186 for backports. The fix adds a simple bounds check (if connector_num >= ucsi->cap.num_connectors) in ucsi_notify_common() before indexing the connector array. If immediate patching is not feasible, consider these compensating controls with trade-offs: (1) Blacklist the ucsi_acpi kernel module via modprobe configuration to prevent UCSI driver loading, which disables USB Type-C functionality including DisplayPort Alt Mode, Power Delivery negotiation, and USB-C port management - acceptable only if USB-C features are not business-critical; (2) Implement USB device whitelisting via USBGuard or similar tools to block unauthorized USB-C device connections, reducing malicious hardware attack surface but requiring ongoing policy maintenance and potentially impacting user productivity; (3) Disable Thunderbolt/USB4 in BIOS/UEFI if not required, as these protocols share the USB-C physical layer and may exercise the vulnerable code path, though this does not protect against malicious firmware scenarios. Note that compensating controls do not address firmware-based attack vectors where compromised BMC or system firmware could inject malicious CCI messages directly.

Affected VersionsENISA

Linux patch: 7.0
Linux bdc62f2bae8fb0e8e99574de5232f0a3c54a27df <98429e9ec89a5e3a204112dfaa2dbe6ca28493a0
Linux patch: 6.18.22
Linux patch: 0
Linux patch: 6.19.12
Linux bdc62f2bae8fb0e8e99574de5232f0a3c54a27df <d2d8c17ac01a1b1f638ea5d340a884ccc5015186
Linux 5.5
Linux bdc62f2bae8fb0e8e99574de5232f0a3c54a27df <f4e608fe12b7ac6a4a57176ab0296bb5a110a078
Linux patch: 6.12.81
Linux bdc62f2bae8fb0e8e99574de5232f0a3c54a27df <f6dcbf2b024d55549959402f1db6c614e51d52cb

Affected Packages

euvd linux no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

This vulnerability affects the USB Type-C Connector System Software Interface (UCSI) subsystem in the Linux kernel, specifically the driver code at drivers/usb/typec/ucsi/. UCSI is the standard interface between system firmware and OS drivers for managing USB Type-C ports and Power Delivery functionality. The CCI (Connector Change Indicator) is a hardware-generated message containing a 7-bit connector number field extracted via the UCSI_CCI_CONNECTOR() macro. The vulnerability is classified as CWE-129 (Improper Validation of Array Index), where untrusted input from hardware is used directly as an array index without bounds validation. The connector array in struct ucsi is dynamically allocated based on the device-reported connector count during initialization, creating a classic index-out-of-bounds scenario when hardware provides malformed data. Affected CPE identifiers indicate impact across multiple Linux kernel versions starting from 5.5 where UCSI support was introduced, with the vulnerable code path present from commit bdc62f2bae8fb0e8e99574de5232f0a3c54a27df forward until patched.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

NVD PRIMARY 7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
SUSE HIGH
Red Hat 5.5 MEDIUM

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

5
CVSS changed
May 07, 2026 - 16:07 NVD
7.8 (HIGH)
Patch available
May 01, 2026 - 16:02 EUVD
Patch released
May 01, 2026 - 15:24 nvd
Patch available
CVE Published
May 01, 2026 - 14:14 nvd
HIGH 7.8
CVE Published
May 01, 2026 - 14:14 nvd
N/A

DescriptionNVD

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.

Executive ViewAI

Why It Matters

CVE-2026-31729 is a high-severity out-of-bounds memory vulnerability in the Linux kernel USB Type-C driver that allows local authenticated attackers to execute arbitrary code or crash systems through malicious USB-C devices or compromised firmware. Organizations running affected Linux kernel versions must prioritize patching to prevent privilege escalation and system compromise, particularly on systems with physical USB-C port access or untrusted device connectivity.

Business Impact: High
Compensating Controls

Apply vendor patch. If patching cannot be completed within 30 days, restrict physical USB-C port access via BIOS/firmware controls, disable UCSI driver if unused, implement mandatory device authentication policies, and monitor kernel logs for CCI message anomalies.

Threat Intelligence Overview

EPSS Score
0.0%
Top 95% exploitable
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
High

Priority Score

39
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +39
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

Vendor StatusVendor

SUSE

Severity: High
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise High Availability Extension 15 SP7 Fixed
SUSE Linux Enterprise High Availability Extension 15 SP7 Fixed
SUSE Linux Enterprise High Performance Computing 15 SP7 Fixed

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy