CVE-2026-74476

veth: convert frag_list skbs before running XDP

State
Published
Severity
9.1 Critical
Published
Aug 15, 2026
Updated
Oct 16, 2026
Reserved
Aug 15, 2026

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.19.1 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 718a18a0c8a67f97781e40bdef7cdd055c430996 to before 0be3632597b8349d43a7dc4244b492dc62a05998Affected
  • 718a18a0c8a67f97781e40bdef7cdd055c430996 to before 04958dba44dc795dc79ce2fcbc117821bbbd6542Affected
  • 718a18a0c8a67f97781e40bdef7cdd055c430996 to before 5c1c15c540fc45820ce3033c319151ec891bc10aAffected
  • 718a18a0c8a67f97781e40bdef7cdd055c430996 to before b24ba0bbffe3e23eb2f6838881c1fabcb29fb9fbAffected
  • 718a18a0c8a67f97781e40bdef7cdd055c430996 to before f9c1fff857e93be709c8b52ed1a643f37bd82c66Affected
  • 718a18a0c8a67f97781e40bdef7cdd055c430996 to before d0d6415963040c401e7a7e4e482a698ba52448cbAffected
LinuxLinux
  • 5.18Affected
  • before 5.18Not affected
  • 6.1.184 through 6.1.*Not affected
  • 6.6.153 through 6.6.*Not affected
  • 6.12.103 through 6.12.*Not affected
  • 6.18.44 through 6.18.*Not affected
  • 7.1.8 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.