Skip to main content

Linux Kernel EUVDEUVD-2026-38962

| CVE-2026-53094 HIGH
2026-06-24 Linux GHSA-c5q6-h25m-p95j
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
5.8 MEDIUM

Local low-priv BPF loading (PR:L); non-default bpf_jit_harden=2 precondition raises AC:H; demonstrated impact is a kernel crash (A:H) with only speculative info/integrity loss (C:L/I:L).

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:H
4.0 AV:L/AC:H/AT:N/PR:L/UI:N/VC:L/VI:L/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
6.7 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:10 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: Fix stale offload->prog pointer after constant blinding

When a dev-bound-only BPF program (BPF_F_XDP_DEV_BOUND_ONLY) undergoes JIT compilation with constant blinding enabled (bpf_jit_harden >= 2), bpf_jit_blind_constants() clones the program. The original prog is then freed in bpf_jit_prog_release_other(), which updates aux->prog to point to the surviving clone, but fails to update offload->prog.

This leaves offload->prog pointing to the freed original program. When the network namespace is subsequently destroyed, cleanup_net() triggers bpf_dev_bound_netdev_unregister(), which iterates ondev->progs and calls __bpf_prog_offload_destroy(offload->prog). Accessing the freed prog causes a page fault:

BUG: unable to handle page fault for address: ffffc900085f1038 Workqueue: netns cleanup_net RIP: 0010:__bpf_prog_offload_destroy+0xc/0x80 Call Trace: __bpf_offload_dev_netdev_unregister+0x257/0x350 bpf_dev_bound_netdev_unregister+0x4a/0x90 unregister_netdevice_many_notify+0x2a2/0x660 ... cleanup_net+0x21a/0x320

The test sequence that triggers this reliably is:

  1. Set net.core.bpf_jit_harden=2 (echo 2 > /proc/sys/net/core/bpf_jit_harden)
  2. Run xdp_metadata selftest, which creates a dev-bound-only XDP

program on a veth inside a netns (./test_progs -t xdp_metadata)

  1. cleanup_net -> page fault in __bpf_prog_offload_destroy

Dev-bound-only programs are unique in that they have an offload structure but go through the normal JIT path instead of bpf_prog_offload_compile(). This means they are subject to constant blinding's prog clone-and-replace, while also having offload->prog that must stay in sync.

Fix this by updating offload->prog in bpf_jit_prog_release_other(), alongside the existing aux->prog update. Both are back-pointers to the prog that must be kept in sync when the prog is replaced.

AnalysisAI

Local privilege/denial-of-service exposure in the Linux kernel BPF subsystem allows a low-privileged user who can load a device-bound XDP program to trigger a use-after-free during network namespace teardown. When constant blinding is enabled (bpf_jit_harden=2), JIT compilation of a BPF_F_XDP_DEV_BOUND_ONLY program clones the program and frees the original, but offload->prog is left pointing at the freed buffer; later netns cleanup dereferences it. There is no public exploit identified at time of analysis, and the EPSS probability is very low (0.17%), consistent with a config-dependent, non-default code path.

Technical ContextAI

The flaw lives in the kernel's eBPF JIT hardening path. bpf_jit_blind_constants() implements constant blinding (a Spectre/JIT-spray mitigation activated by net.core.bpf_jit_harden>=2) by cloning a program with randomized immediates and discarding the original. bpf_jit_prog_release_other() correctly repoints aux->prog to the surviving clone but never updates the parallel back-pointer offload->prog. Device-bound-only programs (BPF_F_XDP_DEV_BOUND_ONLY) are the unique case that both carries an offload structure and traverses the standard JIT path rather than bpf_prog_offload_compile(), so this object retains a dangling offload->prog. At cleanup_net() time, bpf_dev_bound_netdev_unregister() walks ondev->progs and calls __bpf_prog_offload_destroy(offload->prog) on the freed allocation, producing a kernel page fault. The root cause class is a use-after-free / stale-pointer (CWE-416), even though the source CWE is listed as N/A.

RemediationAI

Vendor-released patch: upgrade to a fixed stable kernel - 6.6.141, 6.12.91, 6.18.33, 7.0.10, or 7.1 (or your distribution's backport carrying commits a713b72ff88c / 25484c39d1ec / 059525cf18e6 / c79f8503d83d / a1aa9ef47c29 from git.kernel.org/stable). Until patched, the most effective compensating control is to set net.core.bpf_jit_harden back to 0 or 1 (echo 1 > /proc/sys/net/core/bpf_jit_harden), since the bug only manifests at level 2; the trade-off is losing the stronger JIT-spray/constant-blinding mitigation, so weigh this only where untrusted BPF loading is not a concern. Alternatively, restrict who can load BPF/XDP programs by dropping CAP_BPF/CAP_NET_ADMIN from unprivileged workloads and setting kernel.unprivileged_bpf_disabled=1, which removes the local attacker's ability to create the dev-bound XDP program at all (trade-off: breaks legitimate unprivileged BPF use cases). Reference the kernel.org stable commits and https://nvd.nist.gov/vuln/detail/CVE-2026-53094 for verification.

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

EUVD-2026-38962 vulnerability details – vuln.today

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