CVE-2024-26883 bpf: Fix stackmap overflow check on 32-bit arches
An integer overflow in the Linux kernel BPF stackmap code on 32-bit architectures can lead to undefined behavior and potential denial of service.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2024-26883?
CVE-2024-26883 is a high-severity vulnerability in Debian Debian Linux, published on 17 Apr 2024. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
bpf: Fix stackmap overflow check on 32-bit arches
The stackmap code relies on roundup_pow_of_two() to compute the number of hash buckets, and contains an overflow check by checking if the resulting value is 0. However, on 32-bit arches, the roundup code itself can overflow by doing a 32-bit left-shift of an unsigned long value, which is undefined behaviour, so it is not guaranteed to truncate neatly. This was triggered by syzbot on the DEVMAP_HASH type, which contains the same check, copied from the hashtab code.
The commit in the fixes tag actually attempted to fix this, but the fix did not account for the UB, so the fix only works on CPUs where an overflow does result in a neat truncation to zero, which is not guaranteed. Checking the value before rounding does not have this problem.
Weakness: CWE-119
Which versions are affected by CVE-2024-26883?
It affects 2 products.
Products include Debian Debian Linux, Linux kernel.
How do I fix CVE-2024-26883?
Apply the vendor's patch.
Is CVE-2024-26883 being exploited?
There is no known exploitation of CVE-2024-26883 in the wild and no public exploit code.
Other vulnerabilities in Debian Debian Linux
Sources
Also known as AZL-40094, BELL-CVE-2024-26883, DEBIAN-CVE-2024-26883, GHSA-wwjm-jqc7-c985, UBUNTU-CVE-2024-26883.