CVE-2025-38502CWE-125

CVE-2025-38502

High · published August 16, 2025

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

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

bpf: Fix oob access in cgroup local storage

Lonial reported that an out-of-bounds access in cgroup local storage

can be crafted via tail calls. Given two programs each utilizing a

cgroup local storage with a different value size, and one program

doing a tail call into the other. The verifier will validate each of

the indivial programs just fine. However, in the runtime context

the bpf_cg_run_ctx holds an bpf_prog_array_item which contains the

BPF program as well as any cgroup local storage flavor the program

uses. Helpers such as bpf_get_local_storage() pick this up from the

runtime context:

ctx = container_of(current->bpf_ctx, struct bpf_cg_run_ctx, run_ctx);

storage = ctx->prog_item->cgroup_storage[stype];

if (stype == BPF_CGROUP_STORAGE_SHARED)

ptr = &READ_ONCE(storage->buf)->data[0];

else

ptr = this_cpu_ptr(storage->percpu_buf);

For the second program which was called from the originally attached

one, this means bpf_get_local_storage() will pick up the former

program's map, not its own. With mismatching sizes, this can result

in an unintended out-of-bounds access.

To fix this issue, we need to extend bpf_map_owner with an array of

storage_cookie[] to match on i) the exact maps from the original

program if the second program was using bpf_get_local_storage(), or

ii) allow the tail call combination if the second program was not

using any of the cgroup local storage maps.

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.00177 · 7.0th percentile
Weakness
CWE-125 · Out-of-bounds Read
Published
2025-08-16T14:15Z
Affected products (7)
ProductVersionsFixed in
linux/linux_kernel≥ 5.9, < 5.15.1925.15.192
linux/linux_kernel≥ 5.16, < 6.1.1516.1.151
linux/linux_kernel≥ 6.2, < 6.6.1056.6.105
linux/linux_kernel≥ 6.7, < 6.12.466.12.46
linux/linux_kernel≥ 6.13, < 6.16.16.16.1
debian/debian_linuxall versions—
siemens/simatic_cn_4100_firmware< 5.05.0
References (8)
EPSS history
Timeline
  • 16 AUG 09:34Z
    bpf: Fix oob access in cgroup local storage
    cvelistv5