CVE-2026-98037

bpf: Reject untrusted allocated-object pointers

Published Sep 25, 2026 CVSS 3.1 · 7.0 High EPSS < 1% KEV · Not listed
Description
In the Linux kernel, the following vulnerability has been resolved:

bpf: Reject untrusted allocated-object pointers

When the final RCU read-side critical section ends, a local kptr is demoted
to PTR_UNTRUSTED but retains MEM_ALLOC. The pointer may be NULL or may refer
to an object whose lifetime is no longer protected.

type_is_ptr_alloc_obj() nevertheless recognizes any PTR_TO_BTF_ID with
MEM_ALLOC as a live allocated object. In particular, a refcount-only local
kptr never carries NON_OWN_REF, so it still passes the
bpf_refcount_acquire() argument check after RCU protection ends. The kfunc
can then dereference NULL or stale memory.

Make type_is_ptr_alloc_obj() reject PTR_UNTRUSTED pointers. Since
type_is_non_owning_ref() is based on the same predicate, graph kfunc
arguments obey the same live-object requirement. Fault-protected reads of
the demoted pointer remain valid: writes are already rejected, and read
fixups use bpf_may_fault_on_deref() rather than this predicate.

[ kkd: Rewrote commit log ]

Analysis

AI-generated

Technical impact

In the Linux kernel’s BPF subsystem, a flaw in the handling of allocated‑object pointers after an RCU read‑side critical section ends allows a kernel pointer that should be treated as untrusted to be considered a live allocated object. Consequently, the function type_is_ptr_alloc_obj() permits the dereference of NULL or stale memory when validated by bpf_refcount_acquire(), leading to kernel memory corruption. An attacker capable of loading a malicious BPF program could exploit this to gain elevated privileges or crash the system. The weakness reflects improper trust of allocated pointers (CWE‑825).

Affected Systems

All Linux kernel releases that contain the unpatched logic are affected, including mainstream distributions that have not yet incorporated the upstream patch. The remedy was introduced by commit 092c2874dc1b2060fa77a465a971acd4fdf87683 and later merged into kernel commits 6b1f786ad85a0b63393b76f5e634deab1a73198c and 7441ee8276641bddaf1cba7bb75ef9c1458ceb3b. Because the advisory does not list specific distribution versions, administrators should verify that their kernel includes the change that rejects untrusted allocated‑object pointers or consult their vendor for a patched release.

Risk and Exploitability

The CVSS score of 7.0 indicates high severity, and the EPSS score of less than 1% suggests a low but nonzero likelihood of exploitation at the time of this analysis. The vulnerability is not listed in the CISA KEV catalog, and no publicly available exploits have been reported. Based on the description, the attack vector is inferred to be local and requires the ability to load a malicious BPF program, which is typically restricted to privileged users. If successfully abused, the flaw could lead to privilege escalation, confidentiality breach, or denial of service.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the kernel to a version that contains the commit 092c2874dc1b2060fa77a465a971acd4fdf87683 or later.
  • If you must continue to run BPF programs, restrict BPF capabilities using seccomp‑bpf, move the relevant network namespaces into a restricted mode, or disable the helper functions that rely on the vulnerable logic.
  • Monitor kernel logs for BPF‑related panics, crashes, or abnormal behavior that could indicate an attempted exploitation and investigate promptly.

Generated by OpenCVE AI on September 30, 2026 at 14:02 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Debian DLA Debian DLA DLA-4817-1 linux-6.12 security update
Debian DSA Debian DSA DSA-6528-1 linux security update
Ubuntu USN Ubuntu USN USN-9019-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-9020-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9022-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9023-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9024-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9025-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9026-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-9039-1 Linux kernel (Azure CVM) vulnerabilities
Ubuntu USN Ubuntu USN USN-9040-1 Linux kernel (Low Latency NVIDIA) vulnerabilities
Ubuntu USN Ubuntu USN USN-9066-1 Linux kernel (HWE) vulnerabilities
Ubuntu USN Ubuntu USN USN-9091-1 Linux kernel (NVIDIA Tegra) vulnerabilities
History
Type Values Removed Values Added
Weaknesses CWE-416
CWE-476
Type Values Removed Values Added
Weaknesses CWE-825
References
Metrics threat_severity

None

cvssV3_1

{'score': 7.0, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H'}

threat_severity

Moderate

Type Values Removed Values Added
Weaknesses CWE-416
CWE-476
Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: bpf: Reject untrusted allocated-object pointers When the final RCU read-side critical section ends, a local kptr is demoted to PTR_UNTRUSTED but retains MEM_ALLOC. The pointer may be NULL or may refer to an object whose lifetime is no longer protected. type_is_ptr_alloc_obj() nevertheless recognizes any PTR_TO_BTF_ID with MEM_ALLOC as a live allocated object. In particular, a refcount-only local kptr never carries NON_OWN_REF, so it still passes the bpf_refcount_acquire() argument check after RCU protection ends. The kfunc can then dereference NULL or stale memory. Make type_is_ptr_alloc_obj() reject PTR_UNTRUSTED pointers. Since type_is_non_owning_ref() is based on the same predicate, graph kfunc arguments obey the same live-object requirement. Fault-protected reads of the demoted pointer remain valid: writes are already rejected, and read fixups use bpf_may_fault_on_deref() rather than this predicate. [ kkd: Rewrote commit log ]
Title bpf: Reject untrusted allocated-object pointers
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References
Weaknesses
  • CWE-825

    Expired Pointer Dereference

Sources

Status
PUBLISHED
Assigner
Linux
Published
Updated
Oct 19, 2026, 9:12 AM
Reserved
Sep 25, 2026, 10:19 AM
Status
Received
Published
Sep 25, 2026, 11:17 AM
Modified
Oct 19, 2026, 10:17 AM
Severity
Moderate
Public date
Sep 25, 2026, 12:00 AM