Skip to main content

Linux Kernel EUVDEUVD-2026-53275

| CVE-2026-64581 HIGH
2026-08-05 Linux GHSA-7q3m-x568-mpcp
7.8
CVSS 3.1 · Vendor: Linux
Share

Severity by source

Vendor (Linux) PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
7.0 HIGH

Race condition requires precise timing (AC:H); user namespace lowers barrier but access remains local with low privilege; full kernel impact on successful exploitation.

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

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

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

Lifecycle Timeline

5
Analysis Generated
Aug 08, 2026 - 15:33 vuln.today
CVSS changed
Aug 08, 2026 - 15:22 NVD
7.8 (HIGH)
Patch available
Aug 05, 2026 - 09:01 EUVD
CVE Published
Aug 05, 2026 - 08:09 cve.org
HIGH 7.8
CVE Published
Aug 05, 2026 - 08:09 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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

xfrm: fix sk_dst_cache double-free in xfrm_user_policy()

xfrm_user_policy() clears the socket dst cache with __sk_dst_reset(), i.e. the non-atomic __sk_dst_set(sk, NULL): it reads sk_dst_cache with rcu_dereference_protected(), stores NULL and dst_release()s the old dst. That is only safe if no other thread modifies sk_dst_cache concurrently.

For a connected UDP socket that does not hold: the transmit fast path (udp_sendmsg -> sk_dst_check -> sk_dst_reset) resets the cache locklessly with an atomic xchg(). A per-socket policy change racing a send can make both sides observe the same old dst and each dst_release() it, dropping the socket's single reference twice and freeing the xfrm_dst bundle while it is still referenced:

BUG: KASAN: slab-use-after-free in dst_release Write of size 4 at addr ffff88801897b6c0 by task exploit/155 Call Trace: ... dst_release (... ./include/linux/rcuref.h:109) xfrm_user_policy (./include/net/sock.h:2239 ./include/net/sock.h:2256 net/xfrm/xfrm_state.c:3053) do_ip_setsockopt (net/ipv4/ip_sockglue.c:1347) ip_setsockopt (net/ipv4/ip_sockglue.c:1417) do_sock_setsockopt (net/socket.c:2368) __sys_setsockopt (net/socket.c:2393) __x64_sys_setsockopt (net/socket.c:2396) do_syscall_64 (arch/x86/entry/syscall_64.c:94) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121)

Reachable by an unprivileged user via a user+network namespace.

Use the atomic sk_dst_reset() so the cache is cleared and released with a single xchg(): whichever side wins releases the dst once, the other sees NULL and does nothing. Behaviour is otherwise unchanged.

AnalysisAI

Double-free use-after-free in the Linux kernel's xfrm (IPsec) subsystem allows a low-privileged local user to corrupt kernel heap memory, potentially achieving privilege escalation. The race condition in xfrm_user_policy() between a non-atomic sk_dst_cache reset via setsockopt and the UDP fast-path's atomic xchg() reset causes both code paths to observe the same dst pointer and call dst_release() twice, freeing the xfrm_dst bundle while still in use. Critically, the description confirms this is reachable by an unprivileged user via user and network namespaces, making it exploitable on most modern Linux distributions where user namespaces are enabled by default. No public exploit exists and no KEV listing, but the KASAN-confirmed write-to-freed-memory primitive is a classic kernel privilege escalation vector.

Technical ContextAI

The xfrm subsystem implements IPsec transform routing in the Linux kernel. Each socket maintains sk_dst_cache, a pointer to a cached dst (destination routing) entry, used to avoid repeated route lookups. The vulnerability arises from a concurrency mismatch: xfrm_user_policy() calls the non-atomic __sk_dst_reset() - which reads the pointer via rcu_dereference_protected(), stores NULL, then calls dst_release() on the old value - while the UDP transmit fast path (udp_sendmsg → sk_dst_check → sk_dst_reset) resets the cache locklessly using an atomic xchg(). When these execute concurrently, both sides can read the same non-NULL old dst before either has written NULL back, resulting in two dst_release() calls on the same object. This drops the reference count below zero, freeing the xfrm_dst bundle while it remains referenced - a classic CWE-415 double-free leading to CWE-416 use-after-free. The fix replaces the non-atomic __sk_dst_reset() with the atomic sk_dst_reset() so only one racing side wins the xchg and releases the pointer. The CPE cpe:2.3:a:linux:linux confirms this is the upstream Linux kernel codebase.

RemediationAI

The upstream fix is available via two commits on the Linux stable tree: 96b678d08268b5f5c6fc99d4289d9b7e334fc683 and c283e9ada7fcb7dd4b10592623086b2e6d2f9925 (https://git.kernel.org/stable/c/96b678d08268b5f5c6fc99d4289d9b7e334fc683 and https://git.kernel.org/stable/c/c283e9ada7fcb7dd4b10592623086b2e6d2f9925). The EUVD-reported fixed point is kernel 7.1.6 and 7.2-rc4; distribution maintainers should confirm backport availability for their specific kernel stream. Until a patched kernel is deployed, the primary compensating control for environments where the unprivileged namespace attack path is the concern is to disable unprivileged user namespace creation: execute 'sysctl -w kernel.unprivileged_userns_clone=0' and persist it via /etc/sysctl.d. Trade-off: this breaks rootless container runtimes (Podman, rootless Docker, Flatpak sandboxing) and is therefore unsuitable in developer workstation or container-build environments. An alternative narrow mitigation is restricting setsockopt IP_XFRM_POLICY via seccomp or SELinux/AppArmor policy to limit which processes can trigger the vulnerable code path, at the cost of breaking legitimate IPsec applications.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
openSUSE Tumbleweed Fixed
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected

Share

EUVD-2026-53275 vulnerability details – vuln.today

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