CVE-2024-46760
N/A
Summary
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.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | e3037485c68ec1a299ff41160d8fedbd4abc29b9 < c83d464b82a8ad62ec9077637f75d73fe955635a | affected |
| Linux | Linux | e3037485c68ec1a299ff41160d8fedbd4abc29b9 < 25eaef533bf3ccc6fee5067aac16f41f280e343e | affected |
| Linux | Linux | e3037485c68ec1a299ff41160d8fedbd4abc29b9 < adc539784c98a7cc602cbf557debfc2e7b9be8b3 | affected |
| Linux | Linux | 5.2 | affected |
| Linux | Linux | 0 < 5.2 | unaffected |
| Linux | Linux | 6.6.51 <= 6.6.* | unaffected |
| Linux | Linux | 6.10.10 <= 6.10.* | unaffected |
| Linux | Linux | 6.11 <= * | unaffected |
Weaknesses
ADP Enrichment
CISA ADP Vulnrichment
- SSVC:
- Exploitation: none
- Automatable: no
- Technical Impact: partial
References
- https://git.kernel.org/stable/c/c83d464b82a8ad62ec9077637f75d73fe955635a
- https://git.kernel.org/stable/c/25eaef533bf3ccc6fee5067aac16f41f280e343e
- https://git.kernel.org/stable/c/adc539784c98a7cc602cbf557debfc2e7b9be8b3
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.