CVE-2026-93125

CVE-2026-93125

High · published September 17, 2026

CVSS v3.1
7.8
EPSS
0%
Percentile
2.2
In the wild
Unconfirmed
What it is

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

bpf: Reject rdonly/rdwr_buf_size kfunc arguments that exceed u32 max

check_kfunc_args() detects a kfunc argument named rdonly_buf_size or

rdwr_buf_size and stores reg->var_off.value into meta->r0_size, a u64,

and does not bound it. check_kfunc_call() later copies that value into

the returned register's mem_size field:

meta->r0_size = reg->var_off.value;

...

regs[BPF_REG_0].mem_size = meta.r0_size;

regs[BPF_REG_0].mem_size is u32. A constant whose upper 32 bits are set

gets truncated instead of causing a load-time rejection, so the verifier

records a PTR_TO_MEM register with an approximately 4 GiB mem_size for

whatever allocation the kfunc returned. A later access check against

that register uses the truncated, wrong bound.

Reject rdonly_buf_size/rdwr_buf_size values that exceed U32_MAX at the

point meta->r0_size is set.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00128 · 2.2th percentile
Published
2026-09-17T21:18Z
References (5)
EPSS history
Timeline
  • 19 SEP 03:55Z
    EPSS moved — → 0%
    epss
  • 17 SEP 16:11Z
    bpf: Reject rdonly/rdwr_buf_size kfunc arguments that exceed u32 max
    cvelistv5