CVE-2026-64119: l2tp: use list_del_rcu in l2tp_session_unhash
In the Linux kernel, the following vulnerability has been resolved:
l2tp: use listdelrcu in l2tpsessionunhash
An unprivileged local user can pin a host CPU indefinitely in l2tpsessiongetbyifname() by issuing L2TPCMDSESSIONGET on L2TPATTRIFNAME concurrently with L2TPCMDSESSIONCREATE and L2TPCMDSESSIONDELETE on the same tunnel. All three commands take GENLUNSADMINPERM, so CAPNETADMIN in the netns user namespace suffices; on any host that has l2tpcore loaded the trigger is reachable from a standard unshare -Urn sandbox.
l2tpsessionunhash() removes a session from tunnel->sessionlist with listdelinit(), but that list is walked by l2tpsessiongetbyifname() with listforeachentryrcu() under rcureadlockbh(). listdelinit() leaves the deleted entry's next/prev self-pointing; a reader that has loaded the entry and then advances pos->list.next reads &session->list, containerof()s back to the same session, and listforeachentryrcu() never reaches the list head. The CPU stays in strcmp() inside the walker, with BH and preemption disabled, so RCU grace periods on the host stall behind it and the wedged thread cannot be killed (SIGKILL is delivered on syscall return).
Use listdelrcu() to match the existing listaddrcu() in l2tpsessionregister(); the deleted session remains visible to in-flight walkers with consistent next/prev pointers until kfreercu() in l2tpsessionfree() releases it. tunnel->sessionlist has exactly one listdelinit() call site; the listdelinit (&session->clist) at l2tpcore.c:533 operates on the per-collision list, which is not walked under RCU. listempty(&session->list) is not used anywhere in net/l2tp/ after the unhash point, so dropping the post-delete self-init is safe; the fix has no userspace-visible behavior change.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2026-64119?
CVE-2026-64119 has a risk score of 62, indicating a significant vulnerability in the Linux kernel.
How do I fix CVE-2026-64119?
To fix CVE-2026-64119, update the Linux kernel to the latest patched version that addresses this vulnerability.
What components are affected by CVE-2026-64119?
CVE-2026-64119 affects the Linux kernel specifically in the L2TP (Layer 2 Tunneling Protocol) implementation.
Who can exploit CVE-2026-64119?
CVE-2026-64119 can be exploited by an unprivileged local user by sending specific commands to the L2TP interface.
When was CVE-2026-64119 published?
CVE-2026-64119 was published on July 19, 2026.