CVE-2024-26884

bpf: Fix hashtab overflow check on 32-bit arches

State
Published
Severity
7.8 High
Published
Apr 17, 2024
Updated
Oct 15, 2026
Reserved
Feb 19, 2024

Read the record on cve.org

Description

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

bpf: Fix hashtab overflow check on 32-bit arches

The hashtab 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. So apply the same fix to hashtab, by moving the overflow check to before the roundup.

Scores

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

Weaknesses

  • CWE-190 Integer Overflow or Wraparound

Affected Products

ProductVersions
LinuxLinux
  • daaf427c6ab392bedcd018e326b2ffa1e1110cd6 to before 33ec04cadb77605b71d9298311919303d390c4d5Affected
  • daaf427c6ab392bedcd018e326b2ffa1e1110cd6 to before 92c81fbb3ed2e0dfc33a4183a67135e1ab566aceAffected
  • daaf427c6ab392bedcd018e326b2ffa1e1110cd6 to before 64f00b4df0597590b199b62a37a165473bf658a6Affected
  • daaf427c6ab392bedcd018e326b2ffa1e1110cd6 to before 3b08cfc65f07b1132c1979d73f014ae6e04de55dAffected
  • daaf427c6ab392bedcd018e326b2ffa1e1110cd6 to before a83fdaeaea3677b83a53f72ace2d73a19bcd6d93Affected
  • daaf427c6ab392bedcd018e326b2ffa1e1110cd6 to before 8435f0961bf3dc65e204094349bd9aeaac1f8868Affected
  • daaf427c6ab392bedcd018e326b2ffa1e1110cd6 to before d817f0d34d927f2deb17dadbfe212c9a6a32ac3eAffected
  • daaf427c6ab392bedcd018e326b2ffa1e1110cd6 to before a6fa75b5096c0f9826a4fabe22d907b0a5bb1016Affected
  • daaf427c6ab392bedcd018e326b2ffa1e1110cd6 to before 6787d916c2cf9850c97a0a3f73e08c43e7d973b1Affected
LinuxLinux
  • 3.19Affected
  • before 3.19Not affected
  • 4.19.311 through 4.19.*Not affected
  • 5.4.273 through 5.4.*Not affected
  • 5.10.214 through 5.10.*Not affected
  • 5.15.153 through 5.15.*Not affected
  • 6.1.83 through 6.1.*Not affected
  • 6.6.23 through 6.6.*Not affected
  • 6.7.11 through 6.7.*Not affected
  • 6.8.2 through 6.8.*Not affected
  • 6.9 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.