wifi: ath9k: hif_usb: fix memory leak of urbs in ath9k_hif_usb_dealloc_tx_urbs()
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 4.9.337, 4.14.303, 4.19.270, 5.4.229, 4.5, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: wifi: ath9k: hif_usb: fix memory leak of urbs in ath9k_hif_usb_dealloc_tx_urbs() Syzkaller reports a long-known leak of urbs in ath9k_hif_usb_dealloc_tx_urbs(). The cause of the leak is that usb_get_urb() is called but usb_free_urb() (or usb_put_urb()) is not called inside usb_kill_urb() as urb->dev or urb->ep fields have not been initialized and usb_kill_urb() returns immediately. The patch removes trying to kill urbs located in hif_dev->tx.tx_buf because hif_dev->tx.tx_buf is not supposed to contain urbs which are in pending state (the pending urbs are stored in hif_dev->tx.tx_pending). 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.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 4.9.241 · fixed in 4.9.337; From 4.14.203 · fixed in 4.14.303; From 4.19.154 · fixed in 4.19.270; From 5.4.73 · fixed in 5.4.229; From 4.4.241 · fixed in 4.5; From 5.8.17 · fixed in 5.9; From 5.9.2 · fixed in 5.10
- Linux Linux
5.10
References 9
git.kernel.org
- stable/c/134ae5eba41294eff76e4be20d6001b8f0192207
- stable/c/472312fef2b9eccaa03bd59e0ab2527da945e736
- stable/c/eddbb8f7620f9f8008b090a6e10c460074ca575a
- stable/c/9850791d389b342ae6e573fe8198db0b4d338352
- stable/c/c3fb3e9a2c0c1a0fa492d90eb19bcfa92a5f884d
- stable/c/d856f7574bcc1d81de565a857caf32f122cd7ce0
- stable/c/c05189a429fdb371dd455c3c466d67ac2ebff152
- stable/c/08aa0537ec8cf29ceccae98acc1a534fc12598c1
- stable/c/c2a94de38c74e86f49124ac14f093d6a5c377a90