CVE-2026-98037

CVE-2026-98037

published September 25, 2026

CVSS
—
EPSS
0%
Percentile
5.7
In the wild
Unconfirmed
What it is

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 ]

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00168 · 5.7th percentile
Published
2026-09-25T15:17Z
References (4)
EPSS history
Timeline
  • 27 SEP 03:28Z
    EPSS moved — → 0%
    epss
  • 25 SEP 10:23Z
    bpf: Reject untrusted allocated-object pointers
    cvelistv5