CVE-2024-46760

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-46760
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-46760.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-46760
Downstream
Related
Published
2024-09-18T07:12:19.995Z
Modified
2025-11-28T02:34:34.771398Z
Summary
wifi: rtw88: usb: schedule rx work after everything is set up
Details

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 rtwrxfillrxstatus 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:

rtwrxfillrxstatus rtw8821cqueryrxdesc rtwusbrxhandler ... queuework rtwusbreadportcomplete ... usbsubmiturb rtwusbrxresubmit rtwusbinitrx rtwusb_probe

So while we do the async stuff rtwusbprobe continues and calls rtwregisterhw, which does all kinds of initialization (e.g. via ieee80211registerhw) that rtwrxfillrxstatus relies on.

Fix this by moving the first usbsubmiturb after everything is set up.

For me, this bug manifested as: [ 8.893177] rtw8821cu 1-1:1.2: band wrong, packet dropped [ 8.910904] rtw8821cu 1-1:1.2: hw->conf.chandef.chan NULL in rtwrxfillrxstatus because I'm using Larry's backport of rtw88 driver with the NULL checks in rtwrxfillrxstatus.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/46xxx/CVE-2024-46760.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
e3037485c68ec1a299ff41160d8fedbd4abc29b9
Fixed
c83d464b82a8ad62ec9077637f75d73fe955635a
Fixed
25eaef533bf3ccc6fee5067aac16f41f280e343e
Fixed
adc539784c98a7cc602cbf557debfc2e7b9be8b3

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.2.0
Fixed
6.6.51
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.10.10