CVE-2024-45020

bpf: Fix a kernel verifier crash in stacksafe()

State
Published
Severity
7.8 High
Published
Sep 11, 2024
Updated
Aug 5, 2026
Reserved
Aug 21, 2024

Read the record on cve.org

Description

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.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • ab470fefce2837e66b771c60858118d50bb5bb10 to before 7cad3174cc79519bf5f6c4441780264416822c08Affected
  • 2793a8b015f7f1caadb9bce9c63dc659f7522676 to before 6e3987ac310c74bb4dd6a2fa8e46702fe505fb2bAffected
  • 2793a8b015f7f1caadb9bce9c63dc659f7522676 to before bed2eb964c70b780fb55925892a74f26cb590b25Affected
  • 6.6.15 to before 6.6.48Affected
LinuxLinux
  • 6.7Affected
  • before 6.7Not affected
  • 6.6.48 through 6.6.*Not affected
  • 6.10.7 through 6.10.*Not affected
  • 6.11 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.