In the Linux kernel, the following vulnerability has been resolved:
wifi: ath9k: hifusb: Fix use-after-free in ath9khifusbregincb()
It is possible that skb is freed in ath9khtcrxmsg(), then usbsubmiturb() fails and we try to free skb again. It causes use-after-free bug. Moreover, if allocskb() fails, urb->context becomes NULL but rx_buf is not freed and there can be a memory leak.
The patch removes unnecessary nskb and makes skb processing more clear: it is supposed that ath9khtcrx_msg() either frees old skb or passes its managing to another callback function.
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-50829.json"
}