CVE-2026-64119: l2tp: use list_del_rcu in l2tp_session_unhash

Published Jul 19, 2026
·
Updated

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

8 affected components
Linux Linux kernel
Linux Linux kernel>=6.11.3<6.12.92
Linux Linux kernel>=6.13<6.18.34
Linux Linux kernel>=6.19<7.0.11
Linux Linux kernel=7.1-rc1
Linux Linux kernel=7.1-rc2
Linux Linux kernel=7.1-rc3
Linux Linux kernel=7.1-rc4

Event History

Jul 19, 2026
CVE Published
via MITRE·03:40 PM
Data Sourced
via MITRE·03:40 PM
Description
Data Sourced
via NVD·04:17 PM
RemedyDescriptionSeverityAffected Software

Frequently Asked Questions

1

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.

2

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.

3

What components are affected by CVE-2026-64119?

CVE-2026-64119 affects the Linux kernel specifically in the L2TP (Layer 2 Tunneling Protocol) implementation.

4

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.

5

When was CVE-2026-64119 published?

CVE-2026-64119 was published on July 19, 2026.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203