ZeroHour
GBHackerspublished ()ingested Divya

Linux Kernel ZcopyReaper Vulnerability Lets Local Attackers Gain Root Privileges

AI summary · glm-5.3

Linux kernel RDS zero-copy flaw CVE-2026-43502 (ZcopyReaper) lets unprivileged local users gain root; fix in 7.1-rc3, public PoC published.

CVE-2026-43502, dubbed ZcopyReaper, is a Linux kernel local privilege escalation flaw in the RDS zerocopy send path, present since kernel 4.17, allowing unprivileged local attackers to gain root. NebuSec researcher Yuan Tan demonstrated root escalation on openSUSE kernel 6.4.0-150600.23.100; the fix landed in commit 44b550d88b26 with Linux 7.1-rc3 the first patched mainline release. Exploitation requires CONFIG_RDS and CONFIG_RDS_TCP but not unprivileged user namespaces, and PoC exploit material is publicly released alongside more than 20 other exploitable 2026 kernel CVEs.

  • Root escalation demonstrated on openSUSE kernel 6.4.0-150600.23.100
  • Fixed in commit 44b550d88b26; first fixed release is Linux 7.1-rc3
  • Requires CONFIG_RDS/CONFIG_RDS_TCP; disabling user namespaces does not mitigate
  • PoC published among 20+ exploitable kernel flaws from automated exploit generation

Vulnerabilities mentionedAll →

CVEVulnerabilityCVSSEPSSFlagsAffectedExposurePublished
CVE-2026-23274
In the Linux kernel, the following vulnerability has been resolved:

In the Linux kernel, the following vulnerability has been resolved: netfilter: xt_IDLETIMER: reject rev0 reuse of ALARM timer labels IDLETIMER revision 0 rules reuse existing timers by label and always call mod_timer() on timer->timer. If the label was created first by revision 1 with XT_IDLETIMER_ALARM, the object uses alarm timer semantics and timer->timer is never initialized. Reusing that object from revision 0 causes mod_timer() on an uninitialized timer_list, triggering debugobjects warnings and possible panic when panic_on_warn=1. Fix this by rejecting revision 0 rule insertion when an existing timer with the same label is of ALARM type.

NVD description · AI analysis pending
7.8<1%
  • linux linux kernel
CVE-2026-31659
In the Linux kernel, the following vulnerability has been resolved:

In the Linux kernel, the following vulnerability has been resolved: batman-adv: reject oversized global TT response buffers batadv_tt_prepare_tvlv_global_data() builds the allocation length for a global TT response in 16-bit temporaries. When a remote originator advertises a large enough global TT, the TT payload length plus the VLAN header offset can exceed 65535 and wrap before kmalloc(). The full-table response path still uses the original TT payload length when it fills tt_change, so the wrapped allocation is too small and batadv_tt_prepare_tvlv_global_data() writes past the end of the heap object before the later packet-size check runs. Fix this by rejecting TT responses whose TVLV value length cannot fit in the 16-bit TVLV payload length field.

NVD description · AI analysis pending
9.8<1%
  • linux linux kernel
CVE-2026-31678
In the Linux kernel, the following vulnerability has been resolved:

In the Linux kernel, the following vulnerability has been resolved: openvswitch: defer tunnel netdev_put to RCU release ovs_netdev_tunnel_destroy() may run after NETDEV_UNREGISTER already detached the device. Dropping the netdev reference in destroy can race with concurrent readers that still observe vport->dev. Do not release vport->dev in ovs_netdev_tunnel_destroy(). Instead, let vport_netdev_free() drop the reference from the RCU callback, matching the non-tunnel destroy path and avoiding additional synchronization under RTNL.

NVD description · AI analysis pending
7.8<1%
  • linux linux kernel
CVE-2026-43042
In the Linux kernel, the following vulnerability has been resolved:

In the Linux kernel, the following vulnerability has been resolved: mpls: add seqcount to protect the platform_label{,s} pair The RCU-protected codepaths (mpls_forward, mpls_dump_routes) can have an inconsistent view of platform_labels vs platform_label in case of a concurrent resize (resize_platform_label_table, under platform_mutex). This can lead to OOB accesses. This patch adds a seqcount, so that we get a consistent snapshot. Note that mpls_label_ok is also susceptible to this, so the check against RTA_DST in rtm_to_route_config, done outside platform_mutex, is not sufficient. This value gets passed to mpls_label_ok once more in both mpls_route_add and mpls_route_del, so there is no issue, but that additional check must not be removed.

NVD description · AI analysis pending
7.1<1%
  • linux linux kernel
CVE-2026-43074
In the Linux kernel, the following vulnerability has been resolved:

In the Linux kernel, the following vulnerability has been resolved: eventpoll: defer struct eventpoll free to RCU grace period In certain situations, ep_free() in eventpoll.c will kfree the epi->ep eventpoll struct while it still being used by another concurrent thread. Defer the kfree() to an RCU callback to prevent UAF.

NVD description · AI analysis pending
7.8<1%
  • linux linux kernel
CVE-2026-43501
+1 in the same advisory: …43502
In the Linux kernel, the following vulnerability has been resolved:

In the Linux kernel, the following vulnerability has been resolved: ipv6: rpl: reserve mac_len headroom when recompressed SRH grows ipv6_rpl_srh_rcv() decompresses an RFC 6554 Source Routing Header, swaps the next segment into ipv6_hdr->daddr, recompresses, then pulls the old header and pushes the new one plus the IPv6 header back. The recompressed header can be larger than the received one when the swap reduces the common-prefix length the segments share with daddr (CmprI=0, CmprE>0, seg[0][0] != daddr[0] gives the maximum +8 bytes). pskb_expand_head() was gated on segments_left == 0, so on earlier segments the push consumed unchecked headroom. Once skb_push() leaves fewer than skb->mac_len bytes in front of data, skb_mac_header_rebuild()'s call to: skb_set_mac_header(skb, -skb->mac_len); will store (data - head) - mac_len into the u16 mac_header field, which wraps to ~65530, and the following memmove() writes mac_len bytes ~64KiB past skb->head. A single AF_INET6/SOCK_RAW/IPV6_HDRINCL packet over lo with a two segment type-3 SRH (CmprI=0, CmprE=15) reaches headroom 8 after one pass; KASAN reports a 14-byte OOB write in ipv6_rthdr_rcv. Fix this by expanding the head whenever the remaining room is less than the push size plus mac_len, and request that much extra so the rebuilt MAC header fits afterwards.

NVD description · AI analysis pending
9.8
group max
<1%
  • linux linux kernel
Full article484 words · extracted from gbhackers.com · click to collapse

Security researchers have disclosed a local privilege escalation vulnerability in the Linux kernel related to the Reliable Datagram Sockets (RDS) zero-copy send path. This vulnerability could let an unprivileged local attacker gain root privileges.

It is tracked as CVE-2026-43502 and is referred to as “ZcopyReaper.” NebuSec researcher Yuan Tan reported the issue in a disclosure posted to the OSS Security mailing list.

The vulnerability affects a code path present since Linux kernel version 4.17, which could expose a wide range of systems that include the affected RDS functionality.

According to the Openwall, the flaw was fixed in commit 44b550d88b26, and Linux version 7.1-rc3 is the first mainline release to include the fix.

Exploitable RDS Zerocopy Path

ZcopyReaper resides in the RDS zerocopy send path, a kernel networking component designed for high-performance data transfers. RDS is primarily used in specialized environments where reliable message delivery and low-overhead communication are essential.

An attacker only requires local access to a vulnerable Linux host and does not need elevated permissions, Linux capabilities, or user namespace support to reach the affected code. NebuSec demonstrated root privilege escalation on an openSUSE system running kernel version 6.4.0-150600.23.100.

The minimum configuration needed to expose the vulnerable path includes:

CONFIG_INET=y

CONFIG_AIO=y

CONFIG_RDS=y or CONFIG_RDS=m

CONFIG_RDS_TCP=y or CONFIG_RDS_TCP=m

Systems using RDS as kernel modules may remain exposed if both `rds.ko` and `rds_tcp.ko` are loaded. The disclosure also warns that automatic module loading can make the vulnerable path accessible, even if administrators have not manually loaded the modules.

A notable aspect of CVE-2026-43502 is its independence from unprivileged user namespaces, which are often restricted as a defensive measure against local kernel exploitation.

“CONFIG_USER_NS is not required,” the researcher stated. “Disabling unprivileged user namespace creation does not mitigate the vulnerability.” This means organizations cannot rely on user-namespace hardening as a compensating control.

Instead, administrators should identify systems that enable RDS and RDS-over-TCP support, assess whether the relevant modules are present or can be loaded automatically, and prioritize installing kernel updates that include the upstream fix.

NebuSec has confirmed that CVE-2026-43502 is one of more than 20 exploitable Linux kernel flaws identified through its automated exploit-generation pipeline.

The researchers have published proof-of-concept exploit material for these vulnerabilities through the CyberMeowfia security research repository.

This broader list includes CVE-2026-43501, CVE-2026-43074, CVE-2026-43042, CVE-2026-31678, CVE-2026-31659, and CVE-2026-23274, among numerous other CVEs assigned to the Linux kernel in 2026.

Because public exploits can lower the barrier to local post-compromise activity, defenders should prioritize patching. Security teams should also monitor for any unexpected RDS module loading, review local access controls, and ensure endpoint monitoring can detect suspicious privilege escalation behavior on Linux servers and workstations.

Keep your SOC up to date on active malware & phishing within 24h of their emergence. Try ANYRUN to prevent incidents with early detection

Divya

Divya is a Senior Journalist at GBhackers covering Cyber Attacks, Threats, Breaches, Vulnerabilities and other happenings in the cyber world.

Text extracted automatically; images, tables and formatting may be missing. Original: https://gbhackers.com/linux-kernel-zcopyreaper-vulnerability/