Description
In the Linux kernel, the following vulnerability has been resolved:

veth: convert frag_list skbs before running XDP

A frag_list skb can reach veth with data_len set but nr_frags zero.
veth_convert_skb_to_xdp_buff() only converts skbs that are shared,
locked, have frags[], or do not have enough headroom. It later uses
skb_is_nonlinear() to decide whether to set XDP_FLAGS_HAS_FRAGS and
xdp_frags_size.

That exposes frag_list data to XDP as if it were stored in frags[], but
frags[] is empty. AF_XDP copy mode can then trust the bogus XDP fragment
metadata, walk an empty fragment entry, and crash in memcpy() from
__xsk_rcv().

Route non-linear skbs through skb_pp_cow_data() before exposing them to
XDP, and only advertise XDP frags when the resulting skb has frags[].
skb_copy_bits() already handles frag_list input, and skb_pp_cow_data()
builds frags[] output with skb_add_rx_frag(), which is the
representation XDP multi-buffer expects.
Published: 2026-08-15
Score: 9.1 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The flaw lies in the veth driver’s handling of fragment lists when preparing packets for XDP. A frag_list socket buffer can arrive with an empty fragment array but data length set. The conversion routine incorrectly advertises fragment data to XDP based on incomplete checks. XDP copy mode then trusts this bogus metadata, walks an empty fragment entry, and crashes during a memcpy, causing kernel panic. The weakness is a classic out‑of‑bounds or uninitialized buffer access, which can be classified as CWE‑122.

Affected Systems

All Linux kernel users with veth networking enabled, regardless of specific distribution, may be affected. No exact kernel version range is listed, so any current or older kernel that has not yet applied the commit addressing the issue is at risk.

Risk and Exploitability

The CVSS score of 9.1 indicates a high severity for this flaw. The EPSS score is < 1%, suggesting a very low probability of exploitation in the wild. Attackers would need to supply a packet that triggers the fragile XDP path on a veth interface. The likely attack vector is network‑based packet injection or, in some environments, local privileged users creating such packets. This still results in a full system crash, a severe denial‑of‑service risk even though exploitation probability remains low. The vulnerability is not listed in CISA KEV.

Generated by OpenCVE AI on August 21, 2026 at 21:05 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the kernel to a revision that includes the commit fixing the frag_list handling in veth.
  • If an update is not immediately available, disable XDP on all veth interfaces that may receive external traffic to avoid the crash path.
  • Verify that any custom or third‑party networking modules are also updated and do not reintroduce the original fragment handling logic.

Generated by OpenCVE AI on August 21, 2026 at 21:05 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DSA Debian DSA DSA-6466-1 linux security update
History

Sun, 23 Aug 2026 13:15:00 +0000


Fri, 21 Aug 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-125
References
Metrics threat_severity

None

threat_severity

Important


Mon, 17 Aug 2026 11:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-122

Mon, 17 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 9.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H'}


Sat, 15 Aug 2026 12:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: veth: convert frag_list skbs before running XDP A frag_list skb can reach veth with data_len set but nr_frags zero. veth_convert_skb_to_xdp_buff() only converts skbs that are shared, locked, have frags[], or do not have enough headroom. It later uses skb_is_nonlinear() to decide whether to set XDP_FLAGS_HAS_FRAGS and xdp_frags_size. That exposes frag_list data to XDP as if it were stored in frags[], but frags[] is empty. AF_XDP copy mode can then trust the bogus XDP fragment metadata, walk an empty fragment entry, and crash in memcpy() from __xsk_rcv(). Route non-linear skbs through skb_pp_cow_data() before exposing them to XDP, and only advertise XDP frags when the resulting skb has frags[]. skb_copy_bits() already handles frag_list input, and skb_pp_cow_data() builds frags[] output with skb_add_rx_frag(), which is the representation XDP multi-buffer expects.
Title veth: convert frag_list skbs before running XDP
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-23T12:47:22.315Z

Reserved: 2026-08-15T05:44:03.903Z

Link: CVE-2026-74476

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T13:17:52.397

Modified: 2026-08-23T13:16:44.250

Link: CVE-2026-74476

cve-icon Redhat

Severity : Important

Publid Date: 2026-08-15T00:00:00Z

Links: CVE-2026-74476 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-21T21:30:17Z

Weaknesses