CVE-2024-46760

In the Linux kernel, the following vulnerability has been resolved: wifi: rtw88: usb: schedule rx work after everything is set up Right now it's possible to hit NULL pointer dereference in rtw_rx_fill_rx_status on hw object and/or its fields because initialization routine can start getting USB replies before rtw_dev is fully setup. The stack trace looks like this: rtw_rx_fill_rx_status rtw8821c_query_rx_desc rtw_usb_rx_handler ... queue_work rtw_usb_read_port_complete ... usb_submit_urb rtw_usb_rx_resubmit rtw_usb_init_rx rtw_usb_probe So while we do the async stuff rtw_usb_probe continues and calls rtw_register_hw, which does all kinds of initialization (e.g. via ieee80211_register_hw) that rtw_rx_fill_rx_status relies on. Fix this by moving the first usb_submit_urb after everything is set up. For me, this bug manifested as: [ 8.893177] rtw_8821cu 1-1:1.2: band wrong, packet dropped [ 8.910904] rtw_8821cu 1-1:1.2: hw->conf.chandef.chan NULL in rtw_rx_fill_rx_status because I'm using Larry's backport of rtw88 driver with the NULL checks in rtw_rx_fill_rx_status.
Configurations

Configuration 1 (hide)

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

History

23 Sep 2024, 16:18

Type Values Removed Values Added
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
First Time Linux linux Kernel
Linux
References () https://git.kernel.org/stable/c/25eaef533bf3ccc6fee5067aac16f41f280e343e - () https://git.kernel.org/stable/c/25eaef533bf3ccc6fee5067aac16f41f280e343e - Patch
References () https://git.kernel.org/stable/c/adc539784c98a7cc602cbf557debfc2e7b9be8b3 - () https://git.kernel.org/stable/c/adc539784c98a7cc602cbf557debfc2e7b9be8b3 - Patch
References () https://git.kernel.org/stable/c/c83d464b82a8ad62ec9077637f75d73fe955635a - () https://git.kernel.org/stable/c/c83d464b82a8ad62ec9077637f75d73fe955635a - Patch
CWE CWE-476

20 Sep 2024, 12:30

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: wifi: rtw88: usb: programar el trabajo de rx después de que todo esté configurado En este momento, es posible alcanzar la desreferencia del puntero NULL en rtw_rx_fill_rx_status en el objeto hw y/o sus campos porque la rutina de inicialización puede comenzar a recibir respuestas USB antes de que rtw_dev esté completamente configurado. El seguimiento de la pila se ve así: rtw_rx_fill_rx_status rtw8821c_query_rx_desc rtw_usb_rx_handler ... queue_work rtw_usb_read_port_complete ... usb_submit_urb rtw_usb_rx_resubmit rtw_usb_init_rx rtw_usb_probe Entonces, mientras hacemos las cosas asincrónicas, rtw_usb_probe continúa y llama a rtw_register_hw, que realiza todo tipo de inicialización (por ejemplo, a través de ieee80211_register_hw) de la que depende rtw_rx_fill_rx_status. Arregle esto moviendo el primer usb_submit_urb después de que todo esté configurado. Para mí, este error se manifestó como: [8.893177] rtw_8821cu 1-1:1.2: banda incorrecta, paquete descartado [8.910904] rtw_8821cu 1-1:1.2: hw->conf.chandef.chan NULL en rtw_rx_fill_rx_status porque estoy usando el backport de Larry del controlador rtw88 con las comprobaciones NULL en rtw_rx_fill_rx_status.

18 Sep 2024, 08:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-09-18 08:15

Updated : 2024-09-23 16:18


NVD link : CVE-2024-46760

Mitre link : CVE-2024-46760

CVE.ORG link : CVE-2024-46760


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-476

NULL Pointer Dereference