CVE-2024-45020CWE-787

CVE-2024-45020

High · published September 11, 2024

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

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

bpf: Fix a kernel verifier crash in stacksafe()

Daniel Hodges reported a kernel verifier crash when playing with sched-ext.

Further investigation shows that the crash is due to invalid memory access

in stacksafe(). More specifically, it is the following code:

if (exact != NOT_EXACT &&

old->stack[spi].slot_type[i % BPF_REG_SIZE] !=

cur->stack[spi].slot_type[i % BPF_REG_SIZE])

return false;

The 'i' iterates old->allocated_stack.

If cur->allocated_stack < old->allocated_stack the out-of-bound

access will happen.

To fix the issue add 'i >= cur->allocated_stack' check such that if

the condition is true, stacksafe() should fail. Otherwise,

cur->stack[spi].slot_type[i % BPF_REG_SIZE] memory access is legal.

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.00232 · 13.3th percentile
Weakness
CWE-787 · Out-of-bounds Write
Published
2024-09-11T20:15Z
Affected products (5)
ProductVersionsFixed in
linux/linux_kernel≥ 6.6.15, < 6.6.486.6.48
linux/linux_kernel≥ 6.7, < 6.10.76.10.7
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (3)
EPSS history
Timeline
  • 11 SEP 15:13Z
    bpf: Fix a kernel verifier crash in stacksafe()
    cvelistv5