Exploit write-up
getroot — AF_ALG page-cache LPE and container escape
getroot is the escalation stage of the rootpacket toolkit, recovered from a Docker API intrusion. It exploits CVE-2026-31431, a use-after-free in the Linux kernel’s AF_ALG page-cache handling. A local, unprivileged process reaches the freed object through the crypto user-API socket family, reclaims it, and steers a controlled write into kernel memory to escalate to root.
Because the primitive operates on the host kernel rather than anything namespaced, the
same run that lands root inside a container reaches the host: a privileged or
loosely-confined container becomes a full host compromise. In the captured campaign that
was the whole point. getroot handed off to an intel_uncore_freq_aux LKM rootkit that
faked CPU and memory, rebuilt itself through DKMS across reboots, and hid a UPX-packed
XMRig miner. The exploit is the interesting part; what it escalated into was ordinary
cryptojacking.
Detection favours the escalation, not the trigger. Watch for AF_ALG socket use from
workloads that have no reason to touch the kernel crypto API, unexpected DKMS builds, and
out-of-tree modules with vendor-adjacent names such as intel_uncore_freq_aux. The fix is
the upstream kernel patch; where you cannot patch promptly, disabling AF_ALG or restricting
it removes the vector. The working PoC is public in the linked repo, mirrored from the
rootpacket sample; run it only in a disposable VM.
- Target
- Linux kernel (Linux)
- Class
- AF_ALG page-cache use-after-free
- Impact
- Local privilege escalation to root, with escape from a container to the host
- CVE
- CVE-2026-31431
- CWE
- CWE-416
- CVSS
8.8 (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H)- Affected
- Linux kernel with the AF_ALG (crypto user-API) socket family enabled
- Status
- Fixed upstream; patch your kernel
- Maturity
- weaponized
- Disclosed
- June 15, 2026
- Tags
- lpe · container-escape · linux-kernel · af_alg · use-after-free
- Report
- A Linux cryptojacking toolkit that hides in the kernel
- References
- NVD — CVE-2026-31431
Public PoC (kinryulabs/rootpacket-cve-2026-31431) - Proof of concept
- Public PoC
SHA-256
-
dda96d8a4bcc39dc7679347a4386bf1024152d2ccc46d333725ad0cda855d952getroot PoC binary
The linked repo carries getroot, a working local-root exploit. Detonate only in an isolated, disposable VM with no network path to anything you value.