Skip to main content

Linux Kernel EUVDEUVD-2026-52604

| CVE-2026-64563 HIGH
2026-08-04 Linux GHSA-8g97-85g6-9whw
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 requiring concurrent resize between walk_stop/walk_start warrants AC:H; PR:L per confirmed local low-privilege trigger; full C/I/A from kernel UAF with no scope change.

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
Red Hat
7.3 HIGH
qualitative

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:23 vuln.today
CVSS changed
Aug 08, 2026 - 15:22 NVD
7.8 (HIGH)
Patch available
Aug 04, 2026 - 07:01 EUVD
CVE Published
Aug 04, 2026 - 06:23 cve.org
UNKNOWN (no severity yet)
CVE Published
Aug 04, 2026 - 06:23 cve.org
HIGH 7.8

DescriptionCVE.org

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

rhashtable: clear stale iter->p on table restart

rhashtable_walk_start_check() has two restart paths when resuming a walk. When iter->walker.tbl is valid, it re-validates iter->p against the table and sets iter->p = NULL if the object is gone. When iter->walker.tbl is NULL (table was freed during resize), it resets slot and skip but forgets to clear iter->p.

rhashtable_walk_next() then dereferences the stale iter->p, reading freed memory. This is a use-after-free.

Any caller that does multi-fragment rhashtable walks across walk_stop/walk_start boundaries is affected. Concrete cases include netlink_diag (__netlink_diag_dump in net/netlink/diag.c) and TIPC (tipc_nl_sk_walk in net/tipc/socket.c).

Crash stack (netlink_diag): BUG: KASAN: slab-use-after-free in rhashtable_walk_next+0x365/0x3c0 Read of size 8 at addr ffff88801a9d2438 (freed kmalloc-2k, offset 1080) Call Trace: rhashtable_walk_next+0x365/0x3c0 (lib/rhashtable.c:1016) __netlink_diag_dump+0x160/0x760 (net/netlink/diag.c:122) netlink_diag_dump+0xc2/0x240 netlink_dump+0x5bc/0x1270 netlink_recvmsg+0x7a3/0x980 sock_recvmsg+0x1bc/0x200 __sys_recvfrom+0x1d4/0x2c0

AnalysisAI

Use-after-free in the Linux kernel rhashtable walk subsystem allows a local attacker with low privileges to dereference a stale pointer into freed slab memory, enabling kernel memory disclosure, crash, or potential privilege escalation. The defect is in rhashtable_walk_start_check(): when a hash table is freed during resize (iter->walker.tbl == NULL), the restart path clears slot and skip but omits clearing iter->p, leaving a dangling pointer that rhashtable_walk_next() then dereferences. Confirmed callers affected include netlink_diag and TIPC socket diagnostics. No public exploit or CISA KEV listing exists at time of analysis; EPSS is 0.15% (5th percentile), reflecting low current exploitation activity despite real kernel memory-safety impact.

Technical ContextAI

The vulnerability is in lib/rhashtable.c in the Linux kernel's resizable hash table (rhashtable) subsystem, used pervasively throughout the networking stack for efficient socket and protocol object storage. During a multi-fragment walk (iterated across walk_stop/walk_start boundaries), rhashtable_walk_start_check() handles two restart scenarios: one where iter->walker.tbl is valid (which correctly re-validates and nulls iter->p if the object is gone), and one where iter->walker.tbl is NULL because the table was freed during a concurrent resize. The NULL path resets slot/skip counters but neglects to clear iter->p, leaving a stale pointer into freed kmalloc-2k slab memory. rhashtable_walk_next() at lib/rhashtable.c:1016 then dereferences this pointer, producing a KASAN slab-use-after-free read of 8 bytes. Affected callers confirmed in the CVE description are __netlink_diag_dump (net/netlink/diag.c:122) and tipc_nl_sk_walk (net/tipc/socket.c). NVD has not assigned a CWE, but this is a textbook CWE-416 (Use After Free) triggered by a TOCTOU race between table resize and walk resumption. CPE cpe:2.3:a:linux:linux:* confirms broad applicability across the kernel tree.

RemediationAI

The primary fix is to upgrade to a patched kernel version: Linux 7.2-rc5, 6.18.42 (stable), or 7.1.6 (longterm), depending on the branch in use. Fix commits are published at https://git.kernel.org/stable/c/3ff7c1dbf722cf3fa538672452ba182318e0fcc3, https://git.kernel.org/stable/c/4169d9fb92f313ff8e7e83d733c1ecdcc93eebd3, and https://git.kernel.org/stable/c/8173f7e2ce67e6ca1d4763f3da14e5b01ce77456. Where patching is not immediately feasible, restrict access to netlink diagnostic sockets using seccomp-BPF filters or LSM (AppArmor/SELinux) policy to block NETLINK_SOCK_DIAG operations by untrusted users - this neutralizes the netlink_diag exploitation path but does not address TIPC. If TIPC is not required, unloading the module (rmmod tipc) eliminates the TIPC-based attack surface with no functional impact on non-TIPC workloads. Neither workaround addresses all potential callers of rhashtable multi-fragment walks; patching remains the definitive remediation.

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-52604 vulnerability details – vuln.today

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