Skip to main content

Linux Kernel CVE-2026-64119

| EUVDEUVD-2026-45804 MEDIUM
2026-07-19 Linux GHSA-pjh2-pg7v-jm22
5.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
5.5 MEDIUM

Local-only race reliably triggerable; PR:L reflects CAP_NET_ADMIN via unprivileged user netns; impact is pure DoS with no data exposure.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
MEDIUM
qualitative
Red Hat
7.0 MEDIUM
qualitative

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

5
Analysis Generated
Aug 13, 2026 - 15:28 vuln.today
CVSS changed
Aug 13, 2026 - 15:22 NVD
5.5 (MEDIUM)
Patch available
Jul 19, 2026 - 17:03 EUVD
CVE Published
Jul 19, 2026 - 15:40 nvd
MEDIUM 5.5
CVE Published
Jul 19, 2026 - 15:40 cve.org
UNKNOWN (no severity yet)

DescriptionNVD

In the Linux kernel, the following vulnerability has been resolved:

l2tp: use list_del_rcu in l2tp_session_unhash

An unprivileged local user can pin a host CPU indefinitely in l2tp_session_get_by_ifname() by issuing L2TP_CMD_SESSION_GET on L2TP_ATTR_IFNAME concurrently with L2TP_CMD_SESSION_CREATE and L2TP_CMD_SESSION_DELETE on the same tunnel. All three commands take GENL_UNS_ADMIN_PERM, so CAP_NET_ADMIN in the netns user namespace suffices; on any host that has l2tp_core loaded the trigger is reachable from a standard unshare -Urn sandbox.

l2tp_session_unhash() removes a session from tunnel->session_list with list_del_init(), but that list is walked by l2tp_session_get_by_ifname() with list_for_each_entry_rcu() under rcu_read_lock_bh(). list_del_init() 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, container_of()s back to the same session, and list_for_each_entry_rcu() 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 list_del_rcu() to match the existing list_add_rcu() in l2tp_session_register(); the deleted session remains visible to in-flight walkers with consistent next/prev pointers until kfree_rcu() in l2tp_session_free() releases it. tunnel->session_list has exactly one list_del_init() call site; the list_del_init (&session->clist) at l2tp_core.c:533 operates on the per-collision list, which is not walked under RCU. list_empty(&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.

AnalysisAI

CPU pinning denial-of-service in the Linux kernel L2TP subsystem allows an unprivileged local user to wedge a host CPU indefinitely by exploiting an RCU list management mismatch in l2tp_session_unhash(). By creating a user network namespace (unshare -Urn) to obtain CAP_NET_ADMIN and then racing L2TP_CMD_SESSION_CREATE, L2TP_CMD_SESSION_DELETE, and L2TP_CMD_SESSION_GET against the same tunnel, an attacker causes a session list walker to enter an infinite loop with BH and preemption disabled - stalling RCU grace periods system-wide and rendering the thread unkillable via SIGKILL. No public exploit has been identified at time of analysis; EPSS at 0.17% (6th percentile) indicates low automated exploitation probability and no CISA KEV listing.

Technical ContextAI

The vulnerability is in net/l2tp/l2tp_core.c within the Linux kernel's Layer 2 Tunneling Protocol implementation. The root cause is an RCU (Read-Copy-Update) list removal mismatch: l2tp_session_unhash() removes sessions from tunnel->session_list using list_del_init(), which leaves the removed entry's next/prev pointers self-referential (circular, pointing back to itself). However, l2tp_session_get_by_ifname() traverses this same list using list_for_each_entry_rcu() under rcu_read_lock_bh(). When a concurrent reader loads the entry pointer before deletion and advances via pos->list.next, it reads &session->list back into itself, causing container_of() to return the same session in an infinite loop - strcmp() never terminates. The correct pairing is list_del_rcu() (matching the existing list_add_rcu() in l2tp_session_register()), which preserves valid forward/backward pointers until kfree_rcu() in l2tp_session_free() reclaims memory after all RCU readers complete grace periods. The CWE is not formally assigned by NVD, but the root cause class is concurrent data structure misuse under RCU (analogous to CWE-362, race condition). Affected CPE: cpe:2.3:a:linux:linux:*:*:*:*:*:*:*:*.

RemediationAI

The primary fix is upgrading to a patched kernel release: Linux 6.12.92, 6.18.34, 7.0.11, or 7.1. Ubuntu users should apply USN-8593-1 (https://ubuntu.com/security/notices/USN-8593-1). For manual kernel builds, apply the upstream fix commits available at https://git.kernel.org/stable/c/5e40919a40cb3e590ed45c2a54a4a2518aa88a99, https://git.kernel.org/stable/c/e0c3dd7b30cc5ee42ab502da140cda93d794a20b, https://git.kernel.org/stable/c/acab6314bb75be994f720ed13e9d9139cbf828a8, and https://git.kernel.org/stable/c/979c017803c40829b03acd9e5236e354b7622360. Where immediate patching is not feasible, set 'sysctl -w user.max_user_namespaces=0' to block the unprivileged exploitation path (trade-off: breaks rootless container runtimes such as Podman and some browser sandboxes). Alternatively, prevent l2tp_core from autoloading by adding 'install l2tp_core /bin/false' to /etc/modprobe.d/ if L2TP is not used - note this will break any L2TP VPN services on the host. Restricting generic netlink socket access via seccomp or LSM policy to trusted processes is a further compensating control with application-specific compatibility trade-offs.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

CVE-2026-64119 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy