Vulnerability · Published Aug 15, 2026 · Assigned by Linux

CVE-2026-74558xsk: reclaim invalid Tx descriptors in ZC batch path

Unrated

In plain English

A 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 5% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS )–Not rated
Exploit odds (30 days)0.2%top 95.2% 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: xsk: reclaim invalid Tx descriptors in ZC batch path The zero-copy Tx batch parser stops when it encounters an invalid descriptor. If this happens after one or more continuation descriptors, the Tx consumer can be advanced past fragments that are neither submitted to the driver nor returned to userspace through the completion ring. A similar problem occurs when a packet exceeds xdp_zc_max_segs. The descriptors consumed up to the limit are released without completion, and the remaining continuation descriptors can subsequently be interpreted as the beginning of another packet. Parse Tx batches in packet units and distinguish descriptors belonging to complete valid packets from descriptors consumed while draining an invalid or oversized packet. Return the former to the driver and append the latter to the CQ address area so userspace can reclaim their UMEM frames. Treat a standalone invalid descriptor as a one-descriptor reclaim-only packet. Advancing the Tx-ring consumer releases the ring slot, but does not by itself return ownership of the referenced UMEM frame to userspace. Once draining starts, continue until the packet's end-of-packet descriptor is consumed. Preserve the drain state on the socket when EOP has not yet been supplied, so draining can continue during a later call. Leave incomplete but otherwise valid packets on the Tx ring. Shared-UMEM pools using multi-buffer Tx also need packet-framed parsing. Walk their Tx sockets one packet at a time, preserving the existing per-socket fairness scheme, instead of using the legacy one-descriptor fallback. Keep that fallback for shared pools that do not use multi-buffer Tx. Since the drain state is maintained per socket and both the singular and shared paths can resume an interrupted drain, changing the socket list from singular to shared requires no special bind-time transition. CQ entries are positional, and drivers may complete only part of the Tx work returned by xsk_tx_peek_release_desc_batch(). Therefore, reclaim-only entries cannot be published immediately when earlier driver-visible descriptors are still outstanding. Track the number of driver-visible CQ entries preceding the reclaim entries. Let xsk_tx_completed() publish partial hardware Tx completions, and publish the reclaim entries only after every earlier Tx descriptor has completed. Complete a reclaim-only batch immediately when there is no driver-visible work in front of it, and prevent another Tx batch from being appended while reclaim entries remain pending. Also cap batch processing by the size of the pool's temporary descriptor array, as Tx rings belonging to sockets sharing a UMEM may have different sizes. This ensures that every invalid Tx descriptor consumed by the ZC batch path is either submitted to the driver as part of a valid packet or returned to userspace without violating CQ completion ordering.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:13linux6.12.115-2DEBIAN-CVE-2026-74558
Debian:14linux7.1.8-1DEBIAN-CVE-2026-74558
Ubuntu:24.04:LTSlinuxno fix listedUBUNTU-CVE-2026-74558
Ubuntu:26.04:LTSlinux7.0.0-42.42UBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-awsno fix listedUBUNTU-CVE-2026-74558
Ubuntu:26.04:LTSlinux-aws7.0.0-1016.17UBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-aws-6.14no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-aws-6.17no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-aws-6.8no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-aws-7.0no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-azureno fix listedUBUNTU-CVE-2026-74558
Ubuntu:26.04:LTSlinux-azureno fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-azure-6.11no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-azure-6.14no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-azure-6.17no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-azure-6.8no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-azure-7.0no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-azure-fdeno fix listedUBUNTU-CVE-2026-74558
Ubuntu:26.04:LTSlinux-azure-fdeno fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-azure-fde-6.14no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-azure-fde-6.17no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-azure-fde-6.8no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-azure-fde-7.0no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-azure-nvidiano fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-azure-nvidia-6.14no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-gcpno fix listedUBUNTU-CVE-2026-74558
Ubuntu:26.04:LTSlinux-gcp7.0.0-1016.18UBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-gcp-6.11no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-gcp-6.14no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-gcp-6.17no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-gcp-6.8no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-gcp-7.0no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-gkeno fix listedUBUNTU-CVE-2026-74558
Ubuntu:26.04:LTSlinux-gkeno fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-gkeopno fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-hwe-6.11no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-hwe-6.14no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-hwe-6.17no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-hwe-6.8no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-hwe-7.07.0.0-42.42~24.04.1UBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-ibmno fix listedUBUNTU-CVE-2026-74558
Ubuntu:26.04:LTSlinux-ibm7.0.0-1017.17UBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-ibm-6.8no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-lowlatencyno fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-lowlatency-hwe-6.11no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.8no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-nvidiano fix listedUBUNTU-CVE-2026-74558
Ubuntu:26.04:LTSlinux-nvidiano fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-nvidia-6.11no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-nvidia-6.17no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-nvidia-6.8no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-nvidia-7.0no fix listedUBUNTU-CVE-2026-74558
Ubuntu:26.04:LTSlinux-nvidia-bosno fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-nvidia-lowlatencyno fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-nvidia-tegrano fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-oem-6.11no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-oem-6.14no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-oem-6.17no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-oem-6.8no fix listedUBUNTU-CVE-2026-74558
Ubuntu:26.04:LTSlinux-oem-7.07.0.0-1017.17UBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-oracleno fix listedUBUNTU-CVE-2026-74558
Ubuntu:26.04:LTSlinux-oracle7.0.0-1015.16UBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-oracle-6.14no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-oracle-6.17no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-oracle-6.8no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-oracle-7.0no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-raspino fix listedUBUNTU-CVE-2026-74558
Ubuntu:26.04:LTSlinux-raspino fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2026-74558
Ubuntu:26.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2026-74558
Ubuntu:26.04:LTSlinux-riscv7.0.0-42.42.1UBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-riscv-6.14no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-riscv-6.17no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-riscv-6.8no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-riscv-7.07.0.0-42.42.1~24.04.1UBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2026-74558
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-vmwareno fix listedUBUNTU-CVE-2026-74558
Ubuntu:24.04:LTSlinux-xilinxno fix listedUBUNTU-CVE-2026-74558

Affected products (as reported)

VendorProductVersions
Linux Linux cf24f5a5feeaae34c1a34d1e04f8ac697290427a – before 56036bdc445c468b1defd1780ed2af4a3fc7ddb2cf24f5a5feeaae34c1a34d1e04f8ac697290427a – before 2c0a8cc97a9d970a252f17aa0bbf4588768f7aadcf24f5a5feeaae34c1a34d1e04f8ac697290427a – before e7ce2bad0c33471c8da4dd73dff2119a68f96f3acf24f5a5feeaae34c1a34d1e04f8ac697290427a – before 72f2b4516faf55d4dfac2414649d3cffa5fd2c5e
Linux Linux 6.6

References