CVE-2024-57991

In the Linux kernel, the following vulnerability has been resolved: wifi: rtw89: chan: fix soft lockup in rtw89_entity_recalc_mgnt_roles() During rtw89_entity_recalc_mgnt_roles(), there is a normalizing process which will re-order the list if an entry with target pattern is found. And once one is found, should have aborted the list_for_each_entry. But, `break` just aborted the inner for-loop. The outer list_for_each_entry still continues. Normally, only the first entry will match the target pattern, and the re-ordering will change nothing, so there won't be soft lockup. However, in some special cases, soft lockup would happen. Fix it by `goto fill` to break from the list_for_each_entry. The following is a sample of kernel log for this problem. watchdog: BUG: soft lockup - CPU#1 stuck for 26s! [wpa_supplicant:2055] [...] RIP: 0010:rtw89_entity_recalc ([...] chan.c:392 chan.c:479) rtw89_core [...]
Configurations

Configuration 1 (hide)

cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

History

01 Oct 2025, 20:18

Type Values Removed Values Added
References () https://git.kernel.org/stable/c/01d2d34e9fcc9897081c3c16a666f793c8a38c58 - () https://git.kernel.org/stable/c/01d2d34e9fcc9897081c3c16a666f793c8a38c58 - Mailing List, Patch
References () https://git.kernel.org/stable/c/223ba95fdcd3c6090e2bd51dce66abb6dd4f9df9 - () https://git.kernel.org/stable/c/223ba95fdcd3c6090e2bd51dce66abb6dd4f9df9 - Mailing List, Patch
References () https://git.kernel.org/stable/c/e4790b3e314a4814f1680a5dc552031fb199b878 - () https://git.kernel.org/stable/c/e4790b3e314a4814f1680a5dc552031fb199b878 - Mailing List, Patch
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
First Time Linux linux Kernel
Linux
CWE NVD-CWE-noinfo
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: wifi: rtw89: chan: se corrige el bloqueo suave en rtw89_entity_recalc_mgnt_roles() Durante rtw89_entity_recalc_mgnt_roles(), hay un proceso de normalización que reordenará la lista si se encuentra una entrada con el patrón objetivo. Y una vez que se encuentra una, debería haber abortado el list_for_each_entry. Pero, `break` simplemente abortó el bucle for interno. El list_for_each_entry externo aún continúa. Normalmente, solo la primera entrada coincidirá con el patrón objetivo y el reordenamiento no cambiará nada, por lo que no habrá un bloqueo suave. Sin embargo, en algunos casos especiales, se produciría un bloqueo suave. Arréglelo con `goto fill` para interrumpir desde list_for_each_entry. El siguiente es un ejemplo de registro del kernel para este problema. watchdog: BUG: bloqueo suave - ¡CPU n.º 1 atascada durante 26 s! [wpa_supplicant:2055] [...] RIP: 0010:rtw89_entity_recalc ([...] chan.c:392 chan.c:479) rtw89_core [...]
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5

27 Feb 2025, 02:15

Type Values Removed Values Added
New CVE

Information

Published : 2025-02-27 02:15

Updated : 2025-10-01 20:18


NVD link : CVE-2024-57991

Mitre link : CVE-2024-57991

CVE.ORG link : CVE-2024-57991


JSON object : View

Products Affected

linux

  • linux_kernel