Lucene search

K
ubuntucveUbuntu.comUB:CVE-2024-26885
HistoryApr 17, 2024 - 12:00 a.m.

CVE-2024-26885

2024-04-1700:00:00
ubuntu.com
ubuntu.com
13
linux kernel
vulnerability resolved
devmap code
overflow check
32-bit arches
arm32
syzbot
crash
update operation

CVSS3

7.8

Attack Vector

LOCAL

Attack Complexity

LOW

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

AI Score

7.8

Confidence

High

EPSS

0

Percentile

5.1%

In the Linux kernel, the following vulnerability has been resolved: bpf:
Fix DEVMAP_HASH overflow check on 32-bit arches The devmap code allocates a
number hash buckets equal to the next power of two of the max_entries value
provided when creating the map. When rounding up to the next power of two,
the 32-bit variable storing the number of buckets can overflow, and the
code checks for overflow by checking if the truncated 32-bit value is equal
to 0. However, on 32-bit arches the rounding up itself can overflow mid-way
through, because it ends up doing a left-shift of 32 bits on an unsigned
long value. If the size of an unsigned long is four bytes, this is
undefined behaviour, so there is no guarantee that we’ll end up with a nice
and tidy 0-value at the end. Syzbot managed to turn this into a crash on
arm32 by creating a DEVMAP_HASH with max_entries > 0x80000000 and then
trying to update it. Fix this by moving the overflow check to before the
rounding up operation.

References

CVSS3

7.8

Attack Vector

LOCAL

Attack Complexity

LOW

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

AI Score

7.8

Confidence

High

EPSS

0

Percentile

5.1%