CVE-2024-57899

CVE-2024-57899

High · published January 15, 2025

CVSS v3.1
7.6
EPSS
0%
Percentile
23.6
In the wild
Unconfirmed
What it is

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

wifi: mac80211: fix mbss changed flags corruption on 32 bit systems

On 32-bit systems, the size of an unsigned long is 4 bytes,

while a u64 is 8 bytes. Therefore, when using

or_each_set_bit(bit, &bits, sizeof(changed) * BITS_PER_BYTE),

the code is incorrectly searching for a bit in a 32-bit

variable that is expected to be 64 bits in size,

leading to incorrect bit finding.

Solution: Ensure that the size of the bits variable is correctly

adjusted for each architecture.

Call Trace:

? show_regs+0x54/0x58

? __warn+0x6b/0xd4

? ieee80211_link_info_change_notify+0xcc/0xd4 [mac80211]

? report_bug+0x113/0x150

? exc_overflow+0x30/0x30

? handle_bug+0x27/0x44

? exc_invalid_op+0x18/0x50

? handle_exception+0xf6/0xf6

? exc_overflow+0x30/0x30

? ieee80211_link_info_change_notify+0xcc/0xd4 [mac80211]

? exc_overflow+0x30/0x30

? ieee80211_link_info_change_notify+0xcc/0xd4 [mac80211]

? ieee80211_mesh_work+0xff/0x260 [mac80211]

? cfg80211_wiphy_work+0x72/0x98 [cfg80211]

? process_one_work+0xf1/0x1fc

? worker_thread+0x2c0/0x3b4

? kthread+0xc7/0xf0

? mod_delayed_work_on+0x4c/0x4c

? kthread_complete_and_exit+0x14/0x14

? ret_from_fork+0x24/0x38

? kthread_complete_and_exit+0x14/0x14

? ret_from_fork_asm+0xf/0x14

? entry_INT80_32+0xf0/0xf0

[restore no-op path for no changes]

The record
Technical detail
CVSS v3.1
7.6 · HIGH
Vector
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H
CVSS v4.0
Not supplied
EPSS
0.00319 · 23.6th percentile
Published
2025-01-15T18:15Z
Affected products (4)
ProductVersionsFixed in
linux/linux_kernel< 6.6.706.6.70
linux/linux_kernel≥ 6.7, < 6.12.96.12.9
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (3)
EPSS history
Timeline
  • 15 JAN 13:05Z
    wifi: mac80211: fix mbss changed flags corruption on 32 bit systems
    cvelistv5