PinTheft: Linux Kernel RDS Zerocopy Double Free
PinTheft is a Linux kernel vulnerability in the Reliable Datagram Sockets (RDS) zerocopy transmit path. In rds_message_zcopy_from_user(), a failure from iov_iter_get_pages2() releases already pinned pages and clears the zerocopy notifier but leaves the RDS message op_nents count nonzero. Subsequent cleanup through rds_message_purge(), invoked from rds_sendmsg(), iterates the stale count and releases the same page references again, causing a double-free/refcount corruption condition. The fix resets op_nents on the failed page-pinning path.
What it means and what to do now: patch path, interim mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
A local attacker can trigger kernel page-reference corruption and denial of service. Public exploitation research demonstrates that the double-free can be combined with io_uring fixed-buffer handling to retain a stale page reference, reclaim the freed page as page cache, and overwrite page-cache-backed content. This can yield local root privilege escalation where the required kernel configuration and local system conditions are present.
If you can’t patch tonight, do this now.
If RDS is not required, disable or block loading of the rds and rds_tcp kernel modules. Restrict untrusted local access and minimize low-privileged account access pending kernel updates. Where operationally feasible, disable io_uring or limit its use by untrusted workloads; this reduces exposure to the demonstrated privilege-escalation technique but does not replace applying the kernel fix.
Patch, then assume compromise.
Update to a Linux kernel release that includes the fix for CVE-2026-43494, which resets op_nents when zerocopy page pinning fails in rds_message_zcopy_from_user(). Apply the vendor-supported kernel security update and reboot into the updated kernel. Debian stable users should upgrade the linux package to version 6.12.90-2 or later. Other distributions should use their respective fixed kernel packages.
5 exploits validated by Mallory's analysis. Hidden: 2 rejected by Mallory's analysis as not a working exploit.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
21 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.