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

net: fix skb length accounting after generic XDP frag adjustment

Generic XDP exposes non-linear skb fragments through an xdp_buff. If an
XDP program adjusts the fragment area, bpf_prog_run_generic_xdp() copies
xdp_frags_size back to skb->data_len but leaves skb->len containing the
old fragment contribution.

After a fragment shrink, this makes skb_headlen() larger than the actual
linear area. In the reproduced UDP receive path, __skb_datagram_iter()
copied 1024 bytes past the actual linear tail to userspace, starting at
struct skb_shared_info. The copied bytes included the affected skb's
nr_frags, xdp_frags_size and a kernel pointer from
skb_shinfo(skb)->frags[0]. Real packet data was displaced by the same
amount and truncated at the end.

Subtract the old data_len before replacing it and add the new data_len
afterwards, keeping skb->len and skb->data_len synchronized.

A 60000-byte UDP datagram on a veth pair with MTU 64000 was shortened by
1024 bytes from its fragment area. Before the fix, all 10 runs produced
corrupted payloads. After the fix, all 10 runs matched the expected
payload exactly.
Published: 2026-08-22
Score: 9.1 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Information Disclosure
Action: Patch
AI Analysis

Impact

The Linux kernel networking stack contained a flaw in how it updates socket buffer (skb) length counters after XDP fragment adjustments. When an XDP program reduces the size of a packet’s fragment area, the kernel copies the new fragment size into skb->data_len but leaves skb->len unchanged. This mismatch causes skb_headlen() to indicate a larger linear area than actually exists. During a UDP receive operation, this led to __skb_datagram_iter() copying up to 1024 bytes past the true data boundary into user space, leaking kernel structured data such as skb_shinfo and fragment metadata, while also truncating and corrupting the real payload.

Affected Systems

All Linux kernel builds that expose non‑linear skb fragments to generic XDP programs and that lack the latest commit introducing the skb accounting fix. No specific release series or version numbers are enumerated; the fix is present in kernel revisions that incorporate the referenced commit entries.

Risk and Exploitability

The CVSS score of 9.1 and an EPSS of < 1 % indicate a high‑severity bug with a very low likelihood of exploitation in the wild. The vulnerability is not yet listed in CISA's KEV catalog. Based on the description, it is inferred that the attacker must be able to load or otherwise influence an XDP program that modifies packet fragments, typically requiring privileged access or the ability to run trusted eBPF code. The likely attack vector is through locally privileged or trusted users who can inject or modify eBPF programs on interfaces that handle fragmented traffic. If such privileges are available, the flaw can lead to the leaking of kernel pointers and fragment metadata to user space, resulting in information disclosure of kernel address space and exfiltration of packet data. Because the exploitation requires XDP program modifications, the risk to hosts that restrict eBPF loading to trusted users is significantly reduced.

Generated by OpenCVE AI on August 25, 2026 at 10:41 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply a kernel update that contains the skb length accounting fix.
  • If an upgrade is not immediately possible, disable XDP programs on interfaces that may receive fragmented traffic.
  • Restrict eBPF/XDP program loading to privileged or trusted users only.

Generated by OpenCVE AI on August 25, 2026 at 10:41 UTC.

Tracking

Sign in to view the affected projects.

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

Tue, 25 Aug 2026 12:15:00 +0000


Tue, 25 Aug 2026 11:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-125

Tue, 25 Aug 2026 09:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119
CWE-200

Tue, 25 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:H/A:N'}


Sat, 22 Aug 2026 19:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119
CWE-200

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

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: net: fix skb length accounting after generic XDP frag adjustment Generic XDP exposes non-linear skb fragments through an xdp_buff. If an XDP program adjusts the fragment area, bpf_prog_run_generic_xdp() copies xdp_frags_size back to skb->data_len but leaves skb->len containing the old fragment contribution. After a fragment shrink, this makes skb_headlen() larger than the actual linear area. In the reproduced UDP receive path, __skb_datagram_iter() copied 1024 bytes past the actual linear tail to userspace, starting at struct skb_shared_info. The copied bytes included the affected skb's nr_frags, xdp_frags_size and a kernel pointer from skb_shinfo(skb)->frags[0]. Real packet data was displaced by the same amount and truncated at the end. Subtract the old data_len before replacing it and add the new data_len afterwards, keeping skb->len and skb->data_len synchronized. A 60000-byte UDP datagram on a veth pair with MTU 64000 was shortened by 1024 bytes from its fragment area. Before the fix, all 10 runs produced corrupted payloads. After the fix, all 10 runs matched the expected payload exactly.
Title net: fix skb length accounting after generic XDP frag adjustment
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-25T05:41:19.196Z

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

Link: CVE-2026-74665

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-22T16:16:40.357

Modified: 2026-08-25T06:18:48.067

Link: CVE-2026-74665

cve-icon Redhat

Severity : Moderate

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

Links: CVE-2026-74665 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-25T10:45:03Z

Weaknesses