CVE-2026-52943

Updated on 24 Jun 2026

Severity

7.8 High severity

Details

CVSS score
7.8
CVSS vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Overview

About vulnerability

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 reliably exploitable: a working proof-of-concept achieves full root privilege escalation from an unprivileged local user on a default kernel configuration.

The fix follows the pattern of pskb_expand_head() which has the same memcpy/cloned structure. For pskb_carve_inside_header(), net_zcopy_get() is placed after skb_orphan_frags() succeeds, so the orphan error path needs no cleanup. For pskb_carve_inside_nonlinear(), net_zcopy_get() is placed after all failure points and just before skb_release_data(), so no error path needs cleanup at all – matching pskb_expand_head() more closely and avoiding the need for a balancing net_zcopy_put().

Details

Affected packages:
kernel @ 4.18.0 (+6 more)

KernelCare state

Live-patch status from KernelCare for each operating system.

Operating system Status Covered kernels
Amazon Linux 2023 Planned
Debian 11 Planned
Debian 11 cloud Planned
Debian 12 Planned
Oracle Linux 7 UEK 6 In Rollout
112 kernels
  • 5.4.17-2011.2.2.el7uek
  • 5.4.17-2011.1.2.el7uek
  • 5.4.17-2011.3.2.1.el7uek
  • 5.4.17-2011.0.7.el7uek
  • 5.4.17-2011.4.4.el7uek
  • 5.4.17-2011.4.6.el7uek
  • 5.4.17-2011.5.3.el7uek
  • 5.4.17-2011.6.2.el7uek
  • 5.4.17-2011.7.4.el7uek
  • 5.4.17-2036.100.6.1.el7uek
  • 5.4.17-2036.101.2.el7uek
  • 5.4.17-2036.102.0.2.el7uek
  • 5.4.17-2036.103.3.el7uek
  • 5.4.17-2036.103.3.1.el7uek
  • 5.4.17-2036.104.4.el7uek
  • 5.4.17-2036.104.5.el7uek
  • 5.4.17-2102.200.13.el7uek
  • 5.4.17-2102.201.3.el7uek
  • 5.4.17-2102.202.5.el7uek
  • 5.4.17-2102.203.5.el7uek
  • 5.4.17-2102.203.6.el7uek
  • 5.4.17-2102.204.4.2.el7uek
  • 5.4.17-2102.204.4.3.el7uek
  • 5.4.17-2102.204.4.4.el7uek
  • 5.4.17-2102.205.7.2.el7uek
  • 5.4.17-2102.205.7.3.el7uek
  • 5.4.17-2102.206.1.el7uek
  • 5.4.17-2136.300.7.el7uek
  • 5.4.17-2136.301.1.2.el7uek
  • 5.4.17-2136.301.1.4.el7uek
  • 5.4.17-2136.302.6.1.el7uek
  • 5.4.17-2136.302.7.2.el7uek
  • 5.4.17-2136.302.7.2.1.el7uek
  • 5.4.17-2136.301.1.3.el7uek
  • 5.4.17-2136.302.7.2.2.el7uek
  • 5.4.17-2136.302.7.2.3.el7uek
  • 5.4.17-2136.304.4.1.el7uek
  • 5.4.17-2136.304.4.2.el7uek
  • 5.4.17-2136.304.4.3.el7uek
  • 5.4.17-2136.304.4.4.el7uek
  • 5.4.17-2136.304.4.5.el7uek
  • 5.4.17-2136.305.5.3.el7uek
  • 5.4.17-2136.305.5.4.el7uek
  • 5.4.17-2136.305.5.5.el7uek
  • 5.4.17-2136.306.1.3.el7uek
  • 5.4.17-2136.307.3.1.el7uek
  • 5.4.17-2136.307.3.2.el7uek
  • 5.4.17-2136.307.3.4.el7uek
  • 5.4.17-2136.307.3.5.el7uek
  • 5.4.17-2136.308.7.el7uek
  • 5.4.17-2136.307.3.6.el7uek
  • 5.4.17-2136.308.9.el7uek
  • 5.4.17-2136.309.5.el7uek
  • 5.4.17-2136.309.5.1.el7uek
  • 5.4.17-2136.310.7.el7uek
  • 5.4.17-2136.310.7.1.el7uek
  • 5.4.17-2136.309.4.el7uek
  • 5.4.17-2136.311.6.el7uek
  • 5.4.17-2136.311.6.1.el7uek
  • 5.4.17-2136.312.3.4.el7uek
  • 5.4.17-2136.313.6.el7uek
  • 5.4.17-2136.314.6.2.el7uek
  • 5.4.17-2136.314.6.3.el7uek
  • 5.4.17-2136.315.5.el7uek
  • 5.4.17-2136.316.7.el7uek
  • 5.4.17-2136.315.5.8.el7uek
  • 5.4.17-2136.317.5.3.el7uek
  • 5.4.17-2136.317.5.5.el7uek
  • 5.4.17-2136.318.7.1.el7uek
  • 5.4.17-2136.318.7.2.el7uek
  • 5.4.17-2136.319.1.2.el7uek
  • 5.4.17-2136.319.1.3.el7uek
  • 5.4.17-2136.319.1.4.el7uek
  • 5.4.17-2136.320.7.el7uek
  • 5.4.17-2136.320.7.1.el7uek
  • 5.4.17-2136.321.4.el7uek
  • 5.4.17-2136.322.6.2.el7uek
  • 5.4.17-2136.323.8.el7uek
  • 5.4.17-2136.323.8.1.el7uek
  • 5.4.17-2136.323.8.2.el7uek
  • 5.4.17-2136.321.4.1.el7uek
  • 5.4.17-2136.324.5.3.el7uek
  • 5.4.17-2136.322.6.3.el7uek
  • 5.4.17-2136.325.5.el7uek
  • 5.4.17-2136.325.5.1.el7uek
  • 5.4.17-2136.326.6.el7uek
  • 5.4.17-2136.326.6.1.el7uek
  • 5.4.17-2136.327.2.el7uek
  • 5.4.17-2136.328.3.el7uek
  • 5.4.17-2136.329.3.1.el7uek
  • 5.4.17-2136.322.6.4.el7uek
  • 5.4.17-2136.329.3.2.el7uek
  • 5.4.17-2136.330.7.1.el7uek
  • 5.4.17-2136.331.7.el7uek
  • 5.4.17-2136.322.6.5.el7uek
  • 5.4.17-2136.330.7.4.el7uek
  • 5.4.17-2136.332.5.2.el7uek
  • 5.4.17-2136.333.5.el7uek
  • 5.4.17-2136.330.7.5.el7uek
  • 5.4.17-2136.333.5.1.el7uek
  • 5.4.17-2136.334.6.el7uek
  • 5.4.17-2136.334.6.1.el7uek
  • 5.4.17-2136.335.4.el7uek
  • 5.4.17-2136.335.4.1.el7uek
  • 5.4.17-2136.336.5.1.el7uek
  • 5.4.17-2136.337.5.el7uek
  • 5.4.17-2136.337.5.1.el7uek
  • 5.4.17-2136.336.5.3.el7uek
  • 5.4.17-2136.336.5.3.1.el7uek
  • 5.4.17-2136.336.5.3.2.el7uek
  • 5.4.17-2136.338.4.1.el7uek
  • 5.4.17-2136.338.4.2.el7uek
Oracle Linux 8 UEK 6 Released
154 kernels
  • 5.4.17-2011.2.2.el8uek
  • 5.4.17-2011.1.2.el8uek
  • 5.4.17-2011.3.2.1.el8uek
  • 5.4.17-2011.0.7.el8uek
  • 5.4.17-2011.4.4.el8uek
  • 5.4.17-2011.4.6.el8uek
  • 5.4.17-2011.5.3.el8uek
  • 5.4.17-2011.6.2.el8uek
  • 5.4.17-2011.7.4.el8uek
  • 5.4.17-2036.100.6.1.el8uek
  • 5.4.17-2036.101.2.el8uek
  • 5.4.17-2036.102.0.2.el8uek
  • 5.4.17-2036.103.3.el8uek
  • 5.4.17-2036.103.3.1.el8uek
  • 5.4.17-2036.104.4.el8uek
  • 5.4.17-2036.104.5.el8uek
  • 5.4.17-2102.200.13.el8uek
  • 5.4.17-2102.201.3.el8uek
  • 5.4.17-2102.202.5.el8uek
  • 5.4.17-2102.203.5.el8uek
  • 5.4.17-2102.203.6.el8uek
  • 5.4.17-2102.204.4.2.el8uek
  • 5.4.17-2102.204.4.3.el8uek
  • 5.4.17-2102.204.4.4.el8uek
  • 5.4.17-2102.205.7.2.el8uek
  • 5.4.17-2102.205.7.3.el8uek
  • 5.4.17-2102.206.1.el8uek
  • 5.4.17-2136.300.7.el8uek
  • 5.4.17-2136.301.1.2.el8uek
  • 5.4.17-2136.301.1.4.el8uek
  • 5.4.17-2136.302.6.1.el8uek
  • 5.4.17-2136.302.7.2.el8uek
  • 5.4.17-2136.302.7.2.1.el8uek
  • 5.4.17-2136.301.1.3.el8uek
  • 5.4.17-2136.302.7.2.2.el8uek
  • 5.4.17-2136.302.7.2.3.el8uek
  • 5.4.17-2136.304.4.1.el8uek
  • 5.4.17-2136.304.4.2.el8uek
  • 5.4.17-2136.304.4.3.el8uek
  • 5.4.17-2136.304.4.4.el8uek
  • 5.4.17-2136.304.4.5.el8uek
  • 5.4.17-2136.305.5.3.el8uek
  • 5.4.17-2136.305.5.4.el8uek
  • 5.4.17-2136.305.5.5.el8uek
  • 5.4.17-2136.306.1.3.el8uek
  • 5.4.17-2136.307.3.1.el8uek
  • 5.4.17-2136.307.3.2.el8uek
  • 5.4.17-2136.307.3.4.el8uek
  • 5.4.17-2136.307.3.5.el8uek
  • 5.4.17-2136.308.7.el8uek
  • 5.4.17-2136.307.3.6.el8uek
  • 5.4.17-2136.308.9.el8uek
  • 5.4.17-2136.309.5.el8uek
  • 5.4.17-2136.309.5.1.el8uek
  • 5.4.17-2136.310.7.el8uek
  • 5.4.17-2136.310.7.1.el8uek
  • 5.4.17-2136.309.4.el8uek
  • 5.4.17-2136.311.6.el8uek
  • 5.4.17-2136.311.6.1.el8uek
  • 5.4.17-2136.312.3.4.el8uek
  • 5.4.17-2136.313.6.el8uek
  • 5.4.17-2136.314.6.2.el8uek
  • 5.4.17-2136.314.6.3.el8uek
  • 5.4.17-2136.315.5.el8uek
  • 5.4.17-2136.316.7.el8uek
  • 5.4.17-2136.315.5.8.el8uek
  • 5.4.17-2136.317.5.3.el8uek
  • 5.4.17-2136.317.5.5.el8uek
  • 5.4.17-2136.318.7.1.el8uek
  • 5.4.17-2136.318.7.2.el8uek
  • 5.4.17-2136.319.1.2.el8uek
  • 5.4.17-2136.319.1.3.el8uek
  • 5.4.17-2136.319.1.4.el8uek
  • 5.4.17-2136.320.7.el8uek
  • 5.4.17-2136.320.7.1.el8uek
  • 5.4.17-2136.321.4.el8uek
  • 5.4.17-2136.321.4.1.el8uek
  • 5.4.17-2136.322.6.2.el8uek
  • 5.4.17-2136.323.8.el8uek
  • 5.4.17-2136.323.8.1.el8uek
  • 5.4.17-2136.323.8.2.el8uek
  • 5.4.17-2136.324.5.2.el8uek
  • 5.4.17-2136.324.5.3.el8uek
  • 5.4.17-2136.322.6.3.el8uek
  • 5.4.17-2136.325.5.el8uek
  • 5.4.17-2136.325.5.1.el8uek
  • 5.4.17-2136.326.6.el8uek
  • 5.4.17-2136.326.6.1.el8uek
  • 5.4.17-2136.327.2.el8uek
  • 5.4.17-2136.328.3.el8uek
  • 5.4.17-2136.329.3.1.el8uek
  • 5.4.17-2136.322.6.4.el8uek
  • 5.4.17-2136.329.3.2.el8uek
  • 5.4.17-2136.330.7.1.el8uek
  • 5.4.17-2136.331.7.el8uek
  • 5.4.17-2136.322.6.5.el8uek
  • 5.4.17-2136.330.7.4.el8uek
  • 5.4.17-2136.332.5.2.el8uek
  • 5.4.17-2136.333.5.el8uek
  • 5.4.17-2136.330.7.5.el8uek
  • 5.4.17-2136.333.5.1.el8uek
  • 5.4.17-2136.334.6.el8uek
  • 5.4.17-2136.334.6.1.el8uek
  • 5.4.17-2136.335.4.el8uek
  • 5.4.17-2136.335.4.1.el8uek
  • 5.4.17-2136.336.5.1.el8uek
  • 5.4.17-2136.337.5.el8uek
  • 5.4.17-2136.337.5.1.el8uek
  • 5.4.17-2136.336.5.3.el8uek
  • 5.4.17-2136.336.5.3.1.el8uek
  • 5.4.17-2136.336.5.3.2.el8uek
  • 5.4.17-2136.338.4.1.el8uek
  • 5.4.17-2136.338.4.2.el8uek
  • 5.4.17-2136.339.5.el8uek
  • 5.4.17-2136.339.5.1.el8uek
  • 5.4.17-2136.339.5.2.el8uek
  • 5.4.17-2136.340.4.1.el8uek
  • 5.4.17-2136.341.3.3.el8uek
  • 5.4.17-2136.341.3.1.el8uek
  • 5.4.17-2136.342.5.el8uek
  • 5.4.17-2136.342.5.3.el8uek
  • 5.4.17-2136.343.5.1.el8uek
  • 5.4.17-2136.344.4.1.el8uek
  • 5.4.17-2136.343.5.3.el8uek
  • 5.4.17-2136.344.4.3.el8uek
  • 5.4.17-2136.345.5.3.el8uek
  • 5.4.17-2136.346.6.el8uek
  • 5.4.17-2136.343.5.5.el8uek
  • 5.4.17-2136.347.6.el8uek
  • 5.4.17-2136.347.6.1.el8uek
  • 5.4.17-2136.347.6.2.el8uek
  • 5.4.17-2136.347.6.3.el8uek
  • 5.4.17-2136.343.5.6.el8uek
  • 5.4.17-2136.347.6.4.el8uek
  • 5.4.17-2136.348.3.el8uek
  • 5.4.17-2136.348.3.1.el8uek
  • 5.4.17-2136.349.3.1.el8uek
  • 5.4.17-2136.349.3.2.el8uek
  • 5.4.17-2136.350.3.1.el8uek
  • 5.4.17-2136.350.3.2.el8uek
  • 5.4.17-2136.351.3.1.el8uek
  • 5.4.17-2136.351.3.2.el8uek
  • 5.4.17-2136.351.3.3.el8uek
  • 5.4.17-2136.352.5.el8uek
  • 5.4.17-2136.352.5.1.el8uek
  • 5.4.17-2136.353.3.el8uek
  • 5.4.17-2136.354.4.1.el8uek
  • 5.4.17-2136.354.4.2.el8uek
  • 5.4.17-2136.354.4.3.el8uek
  • 5.4.17-2136.355.3.1.el8uek
  • 5.4.17-2136.355.3.3.el8uek
  • 5.4.17-2136.355.3.4.el8uek
  • 5.4.17-2136.356.4.1.el8uek
  • 5.4.17-2136.356.4.2.el8uek
Oracle Linux 8 UEK 7 In Progress
Oracle Linux 9 UEK 7 In Progress