Vulnerability · Published May 6, 2026 · Assigned by Linux

CVE-2026-43250usb: chipidea: udc: fix DMA and SG cleanup in _ep_nuke()

High 7.8

In plain English

A high-severity security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 6% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS NVD)7.8High
Exploit odds (30 days)0.2%top 94.3% of all CVEs
Exploited in the wildNo reportsnot in CISA KEV
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: usb: chipidea: udc: fix DMA and SG cleanup in _ep_nuke() The ChipIdea UDC driver can encounter "not page aligned sg buffer" errors when a USB device is reconnected after being disconnected during an active transfer. This occurs because _ep_nuke() returns requests to the gadget layer without properly unmapping DMA buffers or cleaning up scatter-gather bounce buffers. Root cause: When a disconnect happens during a multi-segment DMA transfer, the request's num_mapped_sgs field and sgt.sgl pointer remain set with stale values. The request is returned to the gadget driver with status -ESHUTDOWN but still has active DMA state. If the gadget driver reuses this request on reconnect without reinitializing it, the stale DMA state causes _hardware_enqueue() to skip DMA mapping (seeing non-zero num_mapped_sgs) and attempt to use freed/invalid DMA addresses, leading to alignment errors and potential memory corruption. The normal completion path via _hardware_dequeue() properly calls usb_gadget_unmap_request_by_dev() and sglist_do_debounce() before returning the request. The _ep_nuke() path must do the same cleanup to ensure requests are returned in a clean, reusable state. Fix: Add DMA unmapping and bounce buffer cleanup to _ep_nuke() to mirror the cleanup sequence in _hardware_dequeue(): - Call usb_gadget_unmap_request_by_dev() if num_mapped_sgs is set - Call sglist_do_debounce() with copy=false if bounce buffer exists This ensures that when requests are returned due to endpoint shutdown, they don't retain stale DMA mappings. The 'false' parameter to sglist_do_debounce() prevents copying data back (appropriate for shutdown path where transfer was aborted).

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12linuxno fix listedDEBIAN-CVE-2026-43250
Debian:13linux6.12.85-1DEBIAN-CVE-2026-43250
Debian:14linux6.19.6-1DEBIAN-CVE-2026-43250
Ubuntu:22.04:LTSlinuxno fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux6.8.0-134.134UBUNTU-CVE-2026-43250
Ubuntu:25.10linuxno fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-awsno fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-aws6.8.0-1060.63UBUNTU-CVE-2026-43250
Ubuntu:25.10linux-awsno fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-aws-6.14no fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-aws-6.17no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-aws-6.86.8.0-1060.63~22.04.1UBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-azureno fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-azure6.8.0-1063.71UBUNTU-CVE-2026-43250
Ubuntu:25.10linux-azureno fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-azure-6.11no fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-azure-6.14no fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-azure-6.17no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-azure-6.86.8.0-1063.71~22.04.1UBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-azure-fdeno fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-azure-fde6.8.0-1062.69UBUNTU-CVE-2026-43250
Ubuntu:25.10linux-azure-fdeno fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-azure-fde-6.14no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-azure-fde-6.86.8.0-1062.69~22.04.1UBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-azure-nvidiano fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-azure-nvidia-6.14no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-gcpno fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-gcp6.8.0-1063.69UBUNTU-CVE-2026-43250
Ubuntu:25.10linux-gcpno fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-gcp-6.11no fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-gcp-6.14no fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-gcp-6.17no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-gcp-6.86.8.0-1063.69~22.04.1UBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-gkeno fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-gke6.8.0-1058.64UBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-gkeopno fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-gkeop6.8.0-1045.48UBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-hwe-6.11no fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-hwe-6.14no fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-hwe-6.17no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-hwe-6.86.8.0-136.136~22.04.1UBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-ibmno fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-ibm6.8.0-1060.61UBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-ibm-6.86.8.0-1060.61~22.04.1UBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-intel-iotgno fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-kvmno fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-lowlatencyno fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-lowlatency6.8.0-134.134.1UBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-lowlatency-hwe-6.11no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.86.8.0-134.134.1~22.04.1UBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-nvidiano fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-nvidia6.8.0-1058.61UBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-nvidia-6.11no fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-nvidia-6.17no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-nvidia-6.86.8.0-1058.61~22.04.1UBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-nvidia-lowlatency6.8.0-1058.61.1UBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-nvidia-tegrano fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-nvidia-tegra6.8.0-1029.30UBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-nvidia-tegra-igxno fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-oem-6.11no fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-oem-6.14no fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-oem-6.17no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-oem-6.8no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-oracleno fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-oracle6.8.0-1057.58UBUNTU-CVE-2026-43250
Ubuntu:25.10linux-oracleno fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-oracle-6.14no fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-oracle-6.17no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-oracle-6.86.8.0-1057.58~22.04.1UBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-raspino fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-raspi6.8.0-1060.64UBUNTU-CVE-2026-43250
Ubuntu:25.10linux-raspino fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2026-43250
Ubuntu:25.10linux-realtimeno fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2026-43250
Ubuntu:25.10linux-riscvno fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-riscv-6.14no fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-riscv-6.17no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-riscv-6.86.8.0-134.134~22.04.1UBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2026-43250
Ubuntu:24.04:LTSlinux-xilinx6.8.0-1032.33UBUNTU-CVE-2026-43250
Ubuntu:22.04:LTSlinux-xilinx-zynqmpno fix listedUBUNTU-CVE-2026-43250

Affected products (as reported)

VendorProductVersions
Linux Linux aa69a8093ff985873cb44fe1157bd6db29a20fe4 – before 1497998749600411d75e60a44f7e572b2348bd9aaa69a8093ff985873cb44fe1157bd6db29a20fe4 – before aad97c92119cb85db105ddda4a44c86cc0748e8caa69a8093ff985873cb44fe1157bd6db29a20fe4 – before 1b72b834511d17f4d069d512f78671f3f210a2f1aa69a8093ff985873cb44fe1157bd6db29a20fe4 – before f4fbf2d4750d12ac8525d2efac1016fa0d84d4ecaa69a8093ff985873cb44fe1157bd6db29a20fe4 – before e74c436f8568af1c60942469d0a2300b3ada3857aa69a8093ff985873cb44fe1157bd6db29a20fe4 – before cea2a1257a3b5ea3e769a445b34af13e6aa5a123
Linux Linux 2.6.29

References