9.8
/ 10
CRITICAL
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Description
In the Linux kernel, the following vulnerability has been resolved:
net: ti: icssg-prueth: fix missing data copy and wrong recycle in ZC RX dispatch
emac_dispatch_skb_zc() allocates a new skb via napi_alloc_skb() but
never copies the packet data from the XDP buffer into it. The skb is
passed up the stack containing uninitialized heap memory instead of
the actual received packet, leaking kernel heap contents to userspace.
Copy the received packet data from the XDP buffer into the skb using
skb_copy_to_linear_data().
Additionally, remove the skb_mark_for_recycle() call since the skb is
backed by the NAPI page frag allocator, not page_pool. Marking a
non-page_pool skb for recycle causes the free path to return pages to
a page_pool that does not own them, corrupting page_pool state.
The non-ZC path (emac_rx_packet) does not have these issues because it
uses napi_build_skb() to wrap the existing page_pool page directly,
requiring no copy, and correctly marks for recycle since the page comes
from page_pool_dev_alloc_pages().
net: ti: icssg-prueth: fix missing data copy and wrong recycle in ZC RX dispatch
emac_dispatch_skb_zc() allocates a new skb via napi_alloc_skb() but
never copies the packet data from the XDP buffer into it. The skb is
passed up the stack containing uninitialized heap memory instead of
the actual received packet, leaking kernel heap contents to userspace.
Copy the received packet data from the XDP buffer into the skb using
skb_copy_to_linear_data().
Additionally, remove the skb_mark_for_recycle() call since the skb is
backed by the NAPI page frag allocator, not page_pool. Marking a
non-page_pool skb for recycle causes the free path to return pages to
a page_pool that does not own them, corrupting page_pool state.
The non-ZC path (emac_rx_packet) does not have these issues because it
uses napi_build_skb() to wrap the existing page_pool page directly,
requiring no copy, and correctly marks for recycle since the page comes
from page_pool_dev_alloc_pages().
AI Analysis
Linux kernel vulnerability allowing kernel heap contents to leak to userspace due to missing data copy and incorrect skb recycling in ZC RX dispatch
Basic Information
ID
CVE-2026-43039
Source
Linux
Published
May 1, 2026 at 14:15
Modified
May 3, 2026 at 05:46
Affected Product
Vendor
Linux
Product
Linux
Version
7a64bb388df3cf091afdd047c701039a13acd3b4
Affected Versions
Linux Linux 7a64bb388df3cf091afdd047c701039a13acd3b4
Linux Linux 7a64bb388df3cf091afdd047c701039a13acd3b4
Linux Linux 6.19
Linux Linux 7a64bb388df3cf091afdd047c701039a13acd3b4
Linux Linux 6.19
AI Assessment
AI Score
9.8 / 10
AI Severity
Critical
Vendor
The Linux Foundation
Product
Linux Kernel
Version
6.19, 7a64bb388df3cf091afdd047c701039a13acd3b4