CVE-2022-50740
N/A
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.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 6f0706ef39fecc6bf56d67728fe0c94e26b43e9d < 134ae5eba41294eff76e4be20d6001b8f0192207 | affected |
| Linux | Linux | 795d57a558d106b8a5bc2bd7aeaf707d9a099244 < 472312fef2b9eccaa03bd59e0ab2527da945e736 | affected |
| Linux | Linux | df4318440c1568b7dedc5f7d4e617d0e297a1313 < eddbb8f7620f9f8008b090a6e10c460074ca575a | affected |
| Linux | Linux | a9990ed2d7ca9339d37c7f67d6f5cb298c3f1b34 < 9850791d389b342ae6e573fe8198db0b4d338352 | affected |
| Linux | Linux | 03fb92a432ea5abe5909bca1455b7e44a9380480 < c3fb3e9a2c0c1a0fa492d90eb19bcfa92a5f884d | affected |
| Linux | Linux | 03fb92a432ea5abe5909bca1455b7e44a9380480 < d856f7574bcc1d81de565a857caf32f122cd7ce0 | affected |
| Linux | Linux | 03fb92a432ea5abe5909bca1455b7e44a9380480 < c05189a429fdb371dd455c3c466d67ac2ebff152 | affected |
| Linux | Linux | 03fb92a432ea5abe5909bca1455b7e44a9380480 < 08aa0537ec8cf29ceccae98acc1a534fc12598c1 | affected |
| Linux | Linux | 03fb92a432ea5abe5909bca1455b7e44a9380480 < c2a94de38c74e86f49124ac14f093d6a5c377a90 | affected |
| Linux | Linux | b92e116ae36f498858dbb18e29a066c3f5348965 | affected |
| Linux | Linux | 7f5972267295fe49f8da8eb42bc2eb3d140860c0 | affected |
| Linux | Linux | 2d72d5ce63c92f56b9f978e8befb5838144176b9 | affected |
| Linux | Linux | 4.9.241 < 4.9.337 | affected |
| Linux | Linux | 4.14.203 < 4.14.303 | affected |
| Linux | Linux | 4.19.154 < 4.19.270 | affected |
| Linux | Linux | 5.4.73 < 5.4.229 | affected |
| Linux | Linux | 4.4.241 < 4.5 | affected |
| Linux | Linux | 5.8.17 < 5.9 | affected |
| Linux | Linux | 5.9.2 < 5.10 | affected |
| Linux | Linux | 5.10 | affected |
| Linux | Linux | 0 < 5.10 | unaffected |
| Linux | Linux | 4.9.337 <= 4.9.* | unaffected |
| Linux | Linux | 4.14.303 <= 4.14.* | unaffected |
| Linux | Linux | 4.19.270 <= 4.19.* | unaffected |
| Linux | Linux | 5.4.229 <= 5.4.* | unaffected |
| Linux | Linux | 5.10.163 <= 5.10.* | unaffected |
| Linux | Linux | 5.15.86 <= 5.15.* | unaffected |
| Linux | Linux | 6.0.16 <= 6.0.* | unaffected |
| Linux | Linux | 6.1.2 <= 6.1.* | unaffected |
| Linux | Linux | 6.2 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/134ae5eba41294eff76e4be20d6001b8f0192207
- https://git.kernel.org/stable/c/472312fef2b9eccaa03bd59e0ab2527da945e736
- https://git.kernel.org/stable/c/eddbb8f7620f9f8008b090a6e10c460074ca575a
- https://git.kernel.org/stable/c/9850791d389b342ae6e573fe8198db0b4d338352
- https://git.kernel.org/stable/c/c3fb3e9a2c0c1a0fa492d90eb19bcfa92a5f884d
- https://git.kernel.org/stable/c/d856f7574bcc1d81de565a857caf32f122cd7ce0
- https://git.kernel.org/stable/c/c05189a429fdb371dd455c3c466d67ac2ebff152
- https://git.kernel.org/stable/c/08aa0537ec8cf29ceccae98acc1a534fc12598c1
- https://git.kernel.org/stable/c/c2a94de38c74e86f49124ac14f093d6a5c377a90
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.