CVE-2023-53199

Summary

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 Software

VendorProductVersion RangeStatus
LinuxLinux44b23b488d44e56d467764ecb661830e5b02b308 < 3fc6401fafde11712a83089fa2cc874cfd10e2cdaffected
LinuxLinux44b23b488d44e56d467764ecb661830e5b02b308 < cd8316767099920a5d41feed1afab0c482a43e9faffected
LinuxLinux44b23b488d44e56d467764ecb661830e5b02b308 < f26dd69f61eff2eedf5df2d199bdd23108309947affected
LinuxLinux44b23b488d44e56d467764ecb661830e5b02b308 < 61490d2710277e8a55009b7682456ae22f8087cfaffected
LinuxLinux44b23b488d44e56d467764ecb661830e5b02b308 < 9acdec72787af1bc8ed92711b52118c8e3e638a2affected
LinuxLinux44b23b488d44e56d467764ecb661830e5b02b308 < c766e37fccd5a5c5059be7efcd9618bf8a2c17c3affected
LinuxLinux44b23b488d44e56d467764ecb661830e5b02b308 < 0af54343a76263a12dbae7fafb64eb47c4a6ad38affected
LinuxLinux2.6.38affected
LinuxLinux0 < 2.6.38unaffected
LinuxLinux4.19.276 <= 4.19.*unaffected
LinuxLinux5.4.235 <= 5.4.*unaffected
LinuxLinux5.10.173 <= 5.10.*unaffected
LinuxLinux5.15.99 <= 5.15.*unaffected
LinuxLinux6.1.16 <= 6.1.*unaffected
LinuxLinux6.2.3 <= 6.2.*unaffected
LinuxLinux6.3 <= *unaffected

Weaknesses

References