VYPR
High severity7.8NVD Advisory· Published Apr 17, 2024· Updated May 12, 2026

CVE-2024-26883

CVE-2024-26883

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.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

A Linux kernel bug in BPF stackmap bucket-size validation causes undefined behavior on 32-bit systems, potentially leading to memory corruption or system crash.

Vulnerability

Overview

CVE-2024-26883 describes a security flaw in the Linux kernel's BPF stackmap implementation, specifically in the bucket-size computation for hash maps. The code uses roundup_pow_of_two() to calculate the number of hash buckets, and it attempts to catch overflow by checking if the result is zero. However, on 32-bit architectures, the rounding operation itself can involve a 32-bit left-shift of an unsigned long value, which is undefined behavior (UB) in C. This means the overflow check is unreliable and the function may not truncate to zero as assumed, potentially leading to an incorrect bucket count.

Attack

Vector & Exploitation

An attacker who can load or trigger BPF programs (which typically requires local access and certain capabilities) could cause the kernel to compute a malformed bucket count. The overflow check is not guaranteed to catch the error on 32-bit platforms, allowing an attacker to trigger memory corruption or a denial-of-service condition. The bug was initially discovered via syzbot and also affects the DEVMAP_HASH type, which shares the same flawed overflow check copied from the hashtab code [1].

Impact

If successfully exploited, this vulnerability could lead to kernel memory corruption, system crash (denial of service), or other undefined behavior. The CVSS v3 score of 7.8 indicates a high severity, reflecting the potential for serious impact that requires local access and low complexity to trigger.

Mitigation

The fix, already merged into the Linux kernel stable branches, replaces the post-rounding zero check with a pre-rounding overflow check that avoids undefined behavior [2][3][4]. Users should apply kernel updates to patched versions. Systems running on 32-bit architectures are particularly vulnerable.

AI Insight generated on May 20, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected products

1
  • Linux/Linuxv5
    Range: 5.11

Patches

0

No patches discovered yet.

Vulnerability mechanics

AI mechanics synthesis has not run for this CVE yet.

References

12

News mentions

0

No linked articles in our index yet.