In the Linux kernel, the following vulnerability has been resolved:
wifi: ath9k: hifusb: fix memory leak of urbs in ath9khifusbdealloctxurbs()
Syzkaller reports a long-known leak of urbs in ath9khifusbdealloctx_urbs().
The cause of the leak is that usbgeturb() is called but usbfreeurb() (or usbputurb()) is not called inside usbkillurb() as urb->dev or urb->ep fields have not been initialized and usbkillurb() returns immediately.
The patch removes trying to kill urbs located in hifdev->tx.txbuf because hifdev->tx.txbuf is not supposed to contain urbs which are in pending state (the pending urbs are stored in hifdev->tx.txpending). The tx.tx_lock is acquired so there should not be any changes in the list.
Found by Linux Verification Center (linuxtesting.org) with Syzkaller.
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/50xxx/CVE-2022-50740.json"
}