Test whether your own Linux system is exposed to CVE-2026-43494 before patching, using the provided exposure-check commands.
Learn how use-after-free and reference count corruption bugs in the Linux kernel can be chained into a local privilege escalation.
Validate that applied mitigations, kernel patch, RDS disable, io_uring restriction, actually block the exploit in a lab environment.
Use as a teaching case study for kernel subsystem interaction bugs in security research or university courses.
Requires a Linux VM running a specific vulnerable kernel version with RDS and io_uring enabled and accessible to unprivileged users. Authorized lab environment mandatory.
This repository is a proof-of-concept demonstration of CVE-2026-43494, a Linux kernel security vulnerability nicknamed PinTheft. The vulnerability affects the way the Linux kernel handles a specific combination of two subsystems: RDS, a networking protocol used for cluster computing, and io_uring, a modern interface for high-performance input/output operations. When both are present and enabled, a flaw in how the kernel tracks memory references can be exploited by an unprivileged local user to gain root access on the same machine. The README states this is for authorized security research, education, and defensive testing only. The technical chain works roughly as follows: the attacker registers a memory page with io_uring's fixed buffer system, then floods the RDS subsystem with operations that repeatedly drop an extra reference on that page due to the bug. Once the reference count is corrupted, the page can be freed while io_uring still holds a pointer to it. That freed page can then be reclaimed by the kernel to hold part of a SUID program, which is a type of system executable that runs with root privileges. The stale io_uring pointer is used to write a small program stub into that page, and executing the SUID binary then runs the injected code as root. The repository contains a single C source file that implements the exploit with a phased terminal UI showing progress. It requires a Linux system running a kernel version that includes the bug, with the RDS and io_uring subsystems enabled and accessible to unprivileged users. The README includes a mitigation section covering four options: applying the upstream kernel patch, disabling the RDS module entirely if it is not needed, restricting io_uring via a kernel parameter, and removing unnecessary SUID binaries. Commands are provided to check whether a given system is exposed before attempting anything else. The upstream fix is identified by a specific kernel commit hash. Original research was published by the V12 Security team, this repository is described as an independent reimplementation for lab use and learning.
← jayhutajulu1 on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.