net: skbuff: fix missing zerocopy reference in pskb_carve helpers
In the Linux kernel, the following vulnerability has been resolved: net: skbuff: fix missing zerocopy reference in pskb_carve helpers pskb_carve_inside_header() and pskb_carve_inside_nonlinear() both copy the old skb_shared_info header into a new buffer via memcpy(), which includes the destructor_arg pointer (uarg) for MSG_ZEROCOPY skbs. Neither function calls net_zcopy_get() for the new shinfo, creating an unaccounted holder: every skb_shared_info with destructor_arg set will call skb_zcopy_clear() once when freed, but the corresponding net_zcopy_get() was never called for the new copy. Repeated calls drive uarg->refcnt to zero prematurely, freeing ubuf_info_msgzc while TX skbs still hold live destructor_arg pointers. KASAN reports use-after-free on a freed ubuf_info_msgzc: BUG: KASAN: slab-use-after-free in skb_release_data+0x77b/0x810 Read of size 8 at addr ffff88801574d3e8 by task poc/220 Call Trace: skb_release_data+0x77b/0x810 kfree_skb_list_reason+0x13e/0x610 skb_release_data+0x4cd/0x810 sk_skb_reason_drop+0xf3/0x340 skb_queue_purge_reason+0x282/0x440 rds_tcp_inc_free+0x1e/0x30 rds_recvmsg+0x354/0x1780 __sys_recvmsg+0xdf/0x180 Allocated by task 219: msg_zerocopy_realloc+0x157/0x7b0 tcp_sendmsg_locked+0x2892/0x3ba0 Freed by task 219: ip_recv_error+0x74a/0xb10 tcp_recvmsg+0x475/0x530 The skb consuming the late access still referenced the same uarg via shinfo->destructor_arg copied by pskb_carve_inside_nonlinear() without a refcount bump. This has been verified to be reli
CVE-2026-52943
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: cve:CVE-2026-52943
Linux
Source reference: /containers/cna/affected/0/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Linux
Source reference: /containers/cna/affected/1/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "6fa01ccd883021105e9f8af7d04b9f156fa3494a",
"lessThan": "8dbed691e43a50903658130bde0fcb5abc425b37",
"versionType": "git"
},
{
"status": "affected",
"version": "6fa01ccd883021105e9f8af7d04b9f156fa3494a",
"lessThan": "9b40bdc2a3298225dffab8158208a0d8c6300578",
"versionType": "git"
},
{
"status": "affected",
"version": "6fa01ccd883021105e9f8af7d04b9f156fa3494a",
"lessThan": "fd470f0a97b8e9a125f520265d2f3b088ffb5b8a",
"versionType": "git"
},
{
"status": "affected",
"version": "6fa01ccd883021105e9f8af7d04b9f156fa3494a",
"lessThan": "ceafb893b12f23331dcc5ff9587e643c3a40ee9f",
"versionType": "git"
},
{
"status": "affected",
"version": "6fa01ccd883021105e9f8af7d04b9f156fa3494a",
"lessThan": "2e0e74c59b2761a414d9f48d7bee1e45220b2427",
"versionType": "git"
},
{
"status": "affected",
"version": "6fa01ccd883021105e9f8af7d04b9f156fa3494a",
"lessThan": "96a4713ae041cc85e712bac682cd2e644004d6c6",
"versionType": "git"
},
{
"status": "affected",
"version": "6fa01ccd883021105e9f8af7d04b9f156fa3494a",
"lessThan": "474d6c771d798bca84f0a140b611e36743511e18",
"versionType": "git"
},
{
"status": "affected",
"version": "6fa01ccd883021105e9f8af7d04b9f156fa3494a",
"lessThan": "98d0912e9f841e5529a5b89a972805f34cb1c69d",
"versionType": "git"
}
],
"programFiles": [
"net/core/skbuff.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "4.7"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "4.7",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "5.10.259",
"versionType": "semver",
"lessThanOrEqual": "5.10.*"
},
{
"status": "unaffected",
"version": "5.15.210",
"versionType": "semver",
"lessThanOrEqual": "5.15.*"
},
{
"status": "unaffected",
"version": "6.1.176",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.6.143",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.12.93",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.35",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "7.0.12",
"versionType": "semver",
"lessThanOrEqual": "7.0.*"
},
{
"status": "unaffected",
"version": "7.1",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"net/core/skbuff.c"
],
"defaultStatus": "affected"
}
]- Related CVEs
- CVE-2026-52943
Source reference:
/cveMetadata/cveId
Publisher severity
high
Source reference: /containers/cna/metrics
- Event
- #40704 · Revision 1
- Added to Heist Feed
- Publisher date