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 oreachsetbit(bit, &bits, sizeof(changed) * BITSPER_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: ? showregs+0x54/0x58 ? _warn+0x6b/0xd4 ? ieee80211linkinfochangenotify+0xcc/0xd4 [mac80211] ? reportbug+0x113/0x150 ? excoverflow+0x30/0x30 ? handlebug+0x27/0x44 ? excinvalidop+0x18/0x50 ? handleexception+0xf6/0xf6 ? excoverflow+0x30/0x30 ? ieee80211linkinfochangenotify+0xcc/0xd4 [mac80211] ? excoverflow+0x30/0x30 ? ieee80211linkinfochangenotify+0xcc/0xd4 [mac80211] ? ieee80211meshwork+0xff/0x260 [mac80211] ? cfg80211wiphywork+0x72/0x98 [cfg80211] ? processonework+0xf1/0x1fc ? workerthread+0x2c0/0x3b4 ? kthread+0xc7/0xf0 ? moddelayedworkon+0x4c/0x4c ? kthreadcompleteandexit+0x14/0x14 ? retfromfork+0x24/0x38 ? kthreadcompleteandexit+0x14/0x14 ? retfromforkasm+0xf/0x14 ? entryINT80_32+0xf0/0xf0
[restore no-op path for no changes]
[
{
"id": "CVE-2024-57899-0e7d1947",
"deprecated": false,
"digest": {
"line_hashes": [
"334343924851340676998725129988629465387",
"129406942608954365271945607774137171070",
"178544772690792290776404603572628788035",
"131645631169494800624569769559833755312",
"304863385852388033619408989923777817058",
"45149339011204912796993583872292853870",
"265164912843868191303490601292854476294",
"300594322504574059228247282885783102583"
],
"threshold": 0.9
},
"target": {
"file": "net/mac80211/mesh.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@86772872f9f5097cd03d0e1c6813238bd38c250b",
"signature_type": "Line",
"signature_version": "v1"
},
{
"id": "CVE-2024-57899-3f1e9bb8",
"deprecated": false,
"digest": {
"length": 380.0,
"function_hash": "291685120842974179561706953033833469341"
},
"target": {
"file": "net/mac80211/mesh.c",
"function": "ieee80211_mbss_info_change_notify"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@49dba1ded8dd5a6a12748631403240b2ab245c34",
"signature_type": "Function",
"signature_version": "v1"
},
{
"id": "CVE-2024-57899-62289cf0",
"deprecated": false,
"digest": {
"length": 380.0,
"function_hash": "291685120842974179561706953033833469341"
},
"target": {
"file": "net/mac80211/mesh.c",
"function": "ieee80211_mbss_info_change_notify"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@86772872f9f5097cd03d0e1c6813238bd38c250b",
"signature_type": "Function",
"signature_version": "v1"
},
{
"id": "CVE-2024-57899-9503a1e4",
"deprecated": false,
"digest": {
"line_hashes": [
"334343924851340676998725129988629465387",
"129406942608954365271945607774137171070",
"178544772690792290776404603572628788035",
"131645631169494800624569769559833755312",
"304863385852388033619408989923777817058",
"45149339011204912796993583872292853870",
"265164912843868191303490601292854476294",
"300594322504574059228247282885783102583"
],
"threshold": 0.9
},
"target": {
"file": "net/mac80211/mesh.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@36b739637d7042843f9df57212ecee6ed6e0d4b2",
"signature_type": "Line",
"signature_version": "v1"
},
{
"id": "CVE-2024-57899-b2dbeb90",
"deprecated": false,
"digest": {
"line_hashes": [
"334343924851340676998725129988629465387",
"129406942608954365271945607774137171070",
"178544772690792290776404603572628788035",
"131645631169494800624569769559833755312",
"304863385852388033619408989923777817058",
"45149339011204912796993583872292853870",
"265164912843868191303490601292854476294",
"300594322504574059228247282885783102583"
],
"threshold": 0.9
},
"target": {
"file": "net/mac80211/mesh.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@49dba1ded8dd5a6a12748631403240b2ab245c34",
"signature_type": "Line",
"signature_version": "v1"
},
{
"id": "CVE-2024-57899-bb97b9de",
"deprecated": false,
"digest": {
"length": 380.0,
"function_hash": "291685120842974179561706953033833469341"
},
"target": {
"file": "net/mac80211/mesh.c",
"function": "ieee80211_mbss_info_change_notify"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@36b739637d7042843f9df57212ecee6ed6e0d4b2",
"signature_type": "Function",
"signature_version": "v1"
}
]