CVE-2024-42063

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-42063
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-42063.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-42063
Downstream
Published
2024-07-29T15:52:28.533Z
Modified
2025-11-28T02:35:25.770384Z
Summary
bpf: Mark bpf prog stack with kmsan_unposion_memory in interpreter mode
Details

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

bpf: Mark bpf prog stack with kmsanunposionmemory in interpreter mode

syzbot reported uninit memory usages during map{lookup,delete}elem.

========== BUG: KMSAN: uninit-value in devmaplookupelem kernel/bpf/devmap.c:441 [inline] BUG: KMSAN: uninit-value in devmaplookupelem+0xf3/0x170 kernel/bpf/devmap.c:796 _devmaplookupelem kernel/bpf/devmap.c:441 [inline] devmaplookupelem+0xf3/0x170 kernel/bpf/devmap.c:796 _bpfmaplookupelem kernel/bpf/helpers.c:42 [inline] bpfmaplookupelem+0x5c/0x80 kernel/bpf/helpers.c:38 _bpfprogrun+0x13fe/0xe0f0 kernel/bpf/core.c:1997

_bpfprog_run256+0xb5/0xe0 kernel/bpf/core.c:2237

The reproducer should be in the interpreter mode.

The C reproducer is trying to run the following bpf prog:

0: (18) r0 = 0x0
2: (18) r1 = map[id:49]
4: (b7) r8 = 16777216
5: (7b) *(u64 *)(r10 -8) = r8
6: (bf) r2 = r10
7: (07) r2 += -229
        ^^^^^^^^^^

8: (b7) r3 = 8
9: (b7) r4 = 0

10: (85) call devmaplookup_elem#1543472 11: (95) exit

It is due to the "void *key" (r2) passed to the helper. bpf allows uninit stack memory access for bpf prog with the right privileges. This patch uses kmsanunpoisonmemory() to mark the stack as initialized.

This should address different syzbot reports on the uninit "void *key" argument during map{lookup,delete}elem.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/42xxx/CVE-2024-42063.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
Fixed
b30f3197a6cd080052d5d4973f9a6b479fd9fff5
Fixed
d812ae6e02bd6e6a9cd1fdb09519c2f33e875faf
Fixed
3189983c26108cf0990e5c46856dc9feb9470d12
Fixed
e8742081db7d01f980c6161ae1e8a1dbc1e30979

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
6.1.97
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.37
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.9.8