CVE-2026-98038

CVE-2026-98038

published September 25, 2026

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

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

bpf: Keep refcount_acquire nullable for borrowed RCU kptrs

bpf_refcount_acquire() is fallible for a borrowed reference because the

object may have reached a zero refcount. The verifier therefore keeps

KF_RET_NULL on the return value unless the argument is an owning reference.

An RCU-protected load of a local kptr is marked MEM_ALLOC, but it only

receives NON_OWN_REF when the pointee contains a graph node. A refcounted

object without a graph node consequently looks like an owning reference

even though the loaded register has no acquired reference state. If the

program drops the last real reference while remaining in the RCU critical

section, refcount_inc_not_zero() returns NULL while the verifier treats the

result as non-NULL.

Only classify the argument as owning when it is backed by a verifier-tracked

reference. This retains the non-NULL return for pointers from bpf_obj_new(),

bpf_kptr_xchg(), or an earlier successful acquisition, while requiring a

NULL check for borrowed RCU kptrs.

[ kkd: Rewrote commit log ]

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00200 · 9.3th percentile
Published
2026-09-25T15:17Z
References (4)
EPSS history
Timeline
  • 27 SEP 03:28Z
    EPSS moved — → 0%
    epss
  • 25 SEP 10:23Z
    bpf: Keep refcount_acquire nullable for borrowed RCU kptrs
    cvelistv5