CVE-2025-39964 retrospective shows AF_ALG as an unprivileged attack surface
A researcher has published a retrospective on CVE-2025-39964, a Linux kernel vulnerability in AF_ALG that allowed an ordinary local user to gain root and, in a container setup, to escape to the host. The article, published by IDNSEC, is written by Muhammad Alifa Ramdhan, who found the bug while at STAR Labs, with credit to his colleague Bing-Jhong Billy Jheng for completing the exploit chain. The flaw was responsibly disclosed to the kernel maintainers and submitted to Google's kernelCTF programme, which paid a reward of $113,337.
AF_ALG is the kernel interface that lets userspace programs ask the kernel to perform cryptographic operations through the socket API. What drew the researcher to it, he writes, is that it can be reached directly from unprivileged userspace with no special configuration, and that no earlier kernelCTF submission had used it as an entry point. The bug itself is a race condition: two writers sharing one AF_ALG socket could leave the kernel's internal bookkeeping in an inconsistent state that led to an out-of-bounds access. According to the article, the vulnerable code had been in Linux since around 2011. The upstream fix prevents concurrent writes to the same AF_ALG socket.
The piece also places the bug in context. AF_ALG drew wider attention in 2026 with Copy Fail, a separate logic flaw in the same subsystem that was recognised at this year's Pwnie Awards; the author notes that CVE-2025-39964 is a different bug, found in September 2025 before Copy Fail was disclosed.

What it means
For defenders, the lesson is about attack surface rather than this particular bug, which has long been patched upstream. Kernel interfaces reachable by any local user are where privilege-escalation research concentrates, and two serious AF_ALG bugs in two years suggest the subsystem deserves the same scrutiny as better-known targets.
Practical steps follow from that. Keep kernels current, including the distribution kernels inside long-lived hosts that run containers, since a local root bug in the host kernel is also a container escape. Where workloads do not need kernel crypto from userspace, restrict access to AF_ALG - seccomp profiles for containers can block creation of the socket family, and some distributions allow the module to be disabled. Reducing the kernel interfaces reachable by untrusted code is cheaper than waiting for the next bug in them.