CVE-2024-49850

bpf: correctly handle malformed BPF_CORE_TYPE_ID_LOCAL relos

published October 21, 2024

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

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

bpf: correctly handle malformed BPF_CORE_TYPE_ID_LOCAL relos

In case of malformed relocation record of kind BPF_CORE_TYPE_ID_LOCAL

referencing a non-existing BTF type, function bpf_core_calc_relo_insn

would cause a null pointer deference.

Fix this by adding a proper check upper in call stack, as malformed

relocation records could be passed from user space.

Simplest reproducer is a program:

r0 = 0

exit

With a single relocation record:

.insn_off = 0, /* patch first instruction */

.type_id = 100500, /* this type id does not exist */

.access_str_off = 6, /* offset of string "0" */

.kind = BPF_CORE_TYPE_ID_LOCAL,

See the link for original reproducer or next commit for a test case.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00207 · 10.2th percentile
Published
2024-10-21T12:18Z
EPSS history
Timeline
  • 21 OCT 12:18Z
    bpf: correctly handle malformed BPF_CORE_TYPE_ID_LOCAL relos
    cvelistv5