In the Linux kernel, the following vulnerability has been resolved:
wifi: brcmfmac: Check for probe() id argument being NULL
The probe() id argument may be NULL in 2 scenarios:
brcmfpciepmleaveD3() calling brcmfpcieprobe() to reprobe the device.
If a user tries to manually bind the driver from sysfs then the sdio / pcie / usb probe() function gets called with NULL as id argument.
Is being hit by users causing the following oops on resume and causing wifi to stop working:
BUG: kernel NULL pointer dereference, address: 0000000000000018 <snip> Hardware name: Dell Inc. XPS 13 9350/0PWNCR, BIDS 1.13.0 02/10/2020 Workgueue: eventsunbound asyncrunentryfn RIP: 0010:brcmfpcieprobe+Ox16b/0x7a0 [brcmfmac] <snip> Call Trace: <TASK> brcmfpciepmleaveD3+0xc5/8x1a0 [brcmfmac be3b4cefca451e190fa35be8f00db1bbec293887] ? pcipmresume+0x5b/0xf0 ? pcilegacyresume+0x80/0x80 dpmruncallback+0x47/0x150 deviceresume+0xa2/0x1f0 asyncresume+0x1d/0x30 <snip>
Fix this by checking for id being NULL.
In the PCI and USB cases try a manual lookup of the id so that manually binding the driver through sysfs and more importantly brcmfpcieprobe() on resume will work.
For the SDIO case there is no helper to do a manual sdiodeviceid lookup, so just directly error out on a NULL id there.
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/53xxx/CVE-2023-53565.json"
}