Skip to main content

Linux Kernel CVE-2026-53096

| EUVDEUVD-2026-38964 HIGH
NULL Pointer Dereference (CWE-476)
2026-06-24 Linux GHSA-8qvr-6896-8wfm
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

Local only (AV:L); winning the update-vs-softirq race is hard, especially as it bites only weakly-ordered CPUs (AC:H); creating/updating a BPF devmap needs capabilities (PR:L); memory corruption yields high C/I/A.

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:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE
4.7 MEDIUM
AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
Red Hat
5.5 MEDIUM
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
Jun 28, 2026 - 09:11 vuln.today
CVSS changed
Jun 28, 2026 - 08:22 NVD
7.8 (HIGH)
Patch available
Jun 24, 2026 - 18:02 EUVD
CVE Published
Jun 24, 2026 - 16:30 cve.org
UNKNOWN (no severity yet)
CVE Published
Jun 24, 2026 - 16:30 cve.org
HIGH 7.8

DescriptionCVE.org

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

bpf: Use RCU-safe iteration in dev_map_redirect_multi() SKB path

The DEVMAP_HASH branch in dev_map_redirect_multi() uses hlist_for_each_entry_safe() to iterate hash buckets, but this function runs under RCU protection (called from xdp_do_generic_redirect_map() in softirq context). Concurrent writers (__dev_map_hash_update_elem, dev_map_hash_delete_elem) modify the list using RCU primitives (hlist_add_head_rcu, hlist_del_rcu).

hlist_for_each_entry_safe() performs plain pointer dereferences without rcu_dereference(), missing the acquire barrier needed to pair with writers' rcu_assign_pointer(). On weakly-ordered architectures (ARM64, POWER), a reader can observe a partially-constructed node. It also defeats CONFIG_PROVE_RCU lockdep validation and KCSAN data-race detection.

Replace with hlist_for_each_entry_rcu() using rcu_read_lock_bh_held() as the lockdep condition, consistent with the rcu_dereference_check() used in the DEVMAP (non-hash) branch of the same functions. Also fix the same incorrect lockdep_is_held(&dtab->index_lock) condition in dev_map_enqueue_multi(), where the lock is not held either.

AnalysisAI

Memory-safety data race in the Linux kernel's BPF DEVMAP_HASH redirect path (dev_map_redirect_multi(), SKB/generic XDP path) lets a concurrent reader in softirq context observe a partially-constructed hash node because hlist_for_each_entry_safe() dereferences list pointers without the rcu_dereference() acquire barrier that pairs with writers' rcu_assign_pointer(). Affecting kernels from 5.14 up to the fixed stable releases, it can lead to memory corruption or information disclosure on weakly-ordered architectures (ARM64, POWER) when BPF devmap-hash redirect is in use. No public exploit identified at time of analysis; EPSS is low (0.18%, 7th percentile) and it is not in CISA KEV.

Technical ContextAI

The bug lives in the kernel's eBPF XDP redirect subsystem, specifically the BPF_MAP_TYPE_DEVMAP_HASH map used by xdp_do_generic_redirect_map() to fan out (broadcast/multicast redirect) packets to multiple net devices. Devmap-hash buckets are RCU-protected lists: writers (__dev_map_hash_update_elem, dev_map_hash_delete_elem) mutate them with hlist_add_head_rcu()/hlist_del_rcu() and rcu_assign_pointer(), which emit a release barrier. The faulty reader iterated those buckets with hlist_for_each_entry_safe(), which performs plain pointer loads with no rcu_dereference() and therefore no paired acquire barrier. On weakly-ordered CPUs the node contents can be read before the writer's stores are visible, yielding a torn/partially-initialized object. The root cause is an RCU list-traversal / data-race class of bug (analogous to CWE-362 race condition and CWE-416-style use of inconsistently-published memory); the CWE field is N/A in the source data. The fix swaps in hlist_for_each_entry_rcu() with rcu_read_lock_bh_held() as the lockdep condition (matching the non-hash DEVMAP branch) and also corrects a bogus lockdep_is_held(&dtab->index_lock) assertion in dev_map_enqueue_multi() where that lock is not actually held. CPE data identifies the affected product generically as cpe:2.3:a:linux:linux:*.

RemediationAI

Vendor-released patch: upgrade to a fixed kernel - 5.15.209, 6.1.175, 6.6.141, 6.12.91, 6.18.33, 7.0.10, or mainline 7.1 (pick the fix matching your stable series), available from kernel.org stable trees and via your distribution's kernel update channel; cross-reference https://nvd.nist.gov/vuln/detail/CVE-2026-53096 and the stable commits at https://git.kernel.org/stable/c/4a3d0fe30b907ff324b1b49756f7e713d67f3645. Where immediate patching is not possible, the most effective compensating control is to deny the prerequisite capability: restrict CAP_BPF/CAP_NET_ADMIN and unprivileged BPF (set kernel.unprivileged_bpf_disabled=1) so untrusted/local users and containers cannot create or update DEVMAP_HASH maps or attach generic-XDP redirect programs - the trade-off is that legitimate BPF/XDP tooling for those workloads will break. As the issue is data-race/ordering related and predominantly affects weakly-ordered CPUs, x86-only fleets carry materially lower exposure and can prioritize the kernel update on ARM64/POWER hosts first.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
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
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

CVE-2026-53096 vulnerability details – vuln.today

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