HIGH Introduced in 6.8
xsk TxMetadata Validation
CVE-2026-90086
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N
01Description
In the Linux kernel, the following vulnerability has been resolved: xsk: honor XDP_TX_METADATA in zero-copy path The zero-copy path reads TX metadata whenever the UMEM has metadata space, even if the descriptor does not set XDP_TX_METADATA. Pass descriptor options through the metadata helpers and ignore metadata unless the option is set. This does not fix the existing per-WQE metadata handling for mlx5 MPWQEs. Only the descriptor that starts a session passes through xsk_tx_metadata_request() and configures offload state shared by the batch. Metadata on descriptors joining an open session is therefore not validated and does not configure its requested offloads. In addition, a non-NULL metadata pointer from such a descriptor is treated as a timestamp completion request even when XDP_TXMD_FLAGS_TIMESTAMP is not set, so its metadata union can be overwritten with an unrequested timestamp. Fixing mixed metadata states within one MPWQE requires a separate change.
02KernelScan AI Analysis
Risk summary
A local user with access to AF_XDP sockets can trigger improper metadata handling in the zero-copy TX path. The kernel reads and processes TX metadata from userspace descriptors even when the descriptor does not request it, potentially leading to memory corruption or information disclosure.
Vulnerability analysis
The zero-copy transmit path in the XSK subsystem reads TX metadata from userspace descriptors whenever the UMEM has metadata space configured, regardless of whether the descriptor actually sets the XDP_TX_METADATA option flag. This means the kernel processes untrusted userspace-controlled metadata that was never intended to be read, potentially interpreting arbitrary data as offload configuration or timestamp requests. The fix passes the descriptor options through to the metadata helper functions and ignores metadata unless the XDP_TX_METADATA option is explicitly set. This vulnerability is reachable by any local user who can create and use AF_XDP sockets with zero-copy mode on supported network hardware.
Lifecycle
03Fix Versions
| Branch | Introduced | Fixed in | Patch commit |
|---|---|---|---|
| 6.18 | 6.8 | 6.18.52 | 53a5b262d706 |
| mainline | 6.8 | 7.3-rc1 | a6e4b9a6deb9 |
| 7.2 | 6.8 | 7.2.6 | bf9387488d63 |