Description
In the Linux kernel, the following vulnerability has been resolved: wifi: ath9k: hif_usb: clean up skbs if ath9k_hif_usb_rx_stream() fails Syzkaller detected a memory leak of skbs in ath9k_hif_usb_rx_stream(). While processing skbs in ath9k_hif_usb_rx_stream(), the already allocated skbs in skb_pool are not freed if ath9k_hif_usb_rx_stream() fails. If we have an incorrect pkt_len or pkt_tag, the input skb is considered invalid and dropped. All the associated packets already in skb_pool should be dropped and freed. Added a comment describing this issue. The patch also makes remain_skb NULL after being processed so that it cannot be referenced after potential free. The initialization of hif_dev fields which are associated with remain_skb (rx_remain_len, rx_transfer_len and rx_pad_len) is moved after a new remain_skb is allocated. Found by Linux Verification Center (linuxtesting.org) with Syzkaller.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
44b23b488d44e56d467764ecb661830e5b02b308 to < 3fc6401fafde11712a83089fa2cc874cfd10e2cdaffected44b23b488d44e56d467764ecb661830e5b02b308 to < cd8316767099920a5d41feed1afab0c482a43e9faffected44b23b488d44e56d467764ecb661830e5b02b308 to < f26dd69f61eff2eedf5df2d199bdd23108309947affected44b23b488d44e56d467764ecb661830e5b02b308 to < 61490d2710277e8a55009b7682456ae22f8087cfaffected44b23b488d44e56d467764ecb661830e5b02b308 to < 9acdec72787af1bc8ed92711b52118c8e3e638a2affected44b23b488d44e56d467764ecb661830e5b02b308 to < c766e37fccd5a5c5059be7efcd9618bf8a2c17c3affected44b23b488d44e56d467764ecb661830e5b02b308 to < 0af54343a76263a12dbae7fafb64eb47c4a6ad38affected
Linux Linux
Default version status: affected
2.6.38affected0 to < 2.6.38unaffected4.19.276 to ≤ 4.19.*unaffected5.4.235 to ≤ 5.4.*unaffected5.10.173 to ≤ 5.10.*unaffected5.15.99 to ≤ 5.15.*unaffected6.1.16 to ≤ 6.1.*unaffected6.2.3 to ≤ 6.2.*unaffected6.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/3fc6401fafde11712a83089fa2cc874cfd10e2cd ↗
- https://git.kernel.org/stable/c/cd8316767099920a5d41feed1afab0c482a43e9f ↗
- https://git.kernel.org/stable/c/f26dd69f61eff2eedf5df2d199bdd23108309947 ↗
- https://git.kernel.org/stable/c/61490d2710277e8a55009b7682456ae22f8087cf ↗
- https://git.kernel.org/stable/c/9acdec72787af1bc8ed92711b52118c8e3e638a2 ↗
- https://git.kernel.org/stable/c/c766e37fccd5a5c5059be7efcd9618bf8a2c17c3 ↗
- https://git.kernel.org/stable/c/0af54343a76263a12dbae7fafb64eb47c4a6ad38 ↗