CVE-2023-53641
CVE.org · Published
- Record status
- Published
- Identifier year (not publication year)
- 2023
- Source publication
- Source updated
- Imported by cveboard
- Source snapshot
- cve_2026-10-24_midnight_baseline ·
CNA source text (English)
wifi: ath9k: hif_usb: fix memory leak of remain_skbs
In the Linux kernel, the following vulnerability has been resolved: wifi: ath9k: hif_usb: fix memory leak of remain_skbs hif_dev->remain_skb is allocated and used exclusively in ath9k_hif_usb_rx_stream(). It is implied that an allocated remain_skb is processed and subsequently freed (in error paths) only during the next call of ath9k_hif_usb_rx_stream(). So, if the urbs are deallocated between those two calls due to the device deinitialization or suspend, it is possible that ath9k_hif_usb_rx_stream() is not called next time and the allocated remain_skb is leaked. Our local Syzkaller instance was able to trigger that. remain_skb makes sense when receiving two consecutive urbs which are logically linked together, i.e. a specific data field from the first skb indicates a cached skb to be allocated, memcpy'd with some data and subsequently processed in the next call to ath9k_hif_usb_rx_stream(). Urbs deallocation supposedly makes that link irrelevant so we need to free the cached skb in those cases. Fix the leak by introducing a function to explicitly free remain_skb (if it is not NULL) when the rx urbs have been deallocated. remain_skb is NULL when it has not been allocated at all (hif_dev struct is kzalloced) or when it has been processed in next call to ath9k_hif_usb_rx_stream(). Found by Linux Verification Center (linuxtesting.org) with Syzkaller.
Scoped product and version facts
Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.
Exploitation unknown; this catalogue does not assess exploitation.
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
unaffected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| fb9987d0f748c983bb795a86f47522313f701a08 | affected | git | 6719e3797ec52cd144c8a5ba8aaab36674800585 | Unavailable | None listed |
| fb9987d0f748c983bb795a86f47522313f701a08 | affected | git | d9899318660791141ea6002fda5577b2c5d7386e | Unavailable | None listed |
| fb9987d0f748c983bb795a86f47522313f701a08 | affected | git | 320d760a35273aa815d58b57e4fd9ba5279a3489 | Unavailable | None listed |
| fb9987d0f748c983bb795a86f47522313f701a08 | affected | git | 59073060fe0950c6ecbe12bdc06469dcac62128d | Unavailable | None listed |
| fb9987d0f748c983bb795a86f47522313f701a08 | affected | git | 9b9356a3014123f0ce4b50d9278c1265173150ab | Unavailable | None listed |
| fb9987d0f748c983bb795a86f47522313f701a08 | affected | git | f0931fc8f4b6847c72e170d2326861c0a081d680 | Unavailable | None listed |
| fb9987d0f748c983bb795a86f47522313f701a08 | affected | git | 8f02d538878c9b1501f624595eb22ee4e5e0ff84 | Unavailable | None listed |
| fb9987d0f748c983bb795a86f47522313f701a08 | affected | git | 7654cc03eb699297130b693ec34e25f77b17c947 | Unavailable | None listed |
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
affected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 2.6.35 | affected | Unavailable | Unavailable | Unavailable | None listed |
| 0 | unaffected | semver | 2.6.35 | Unavailable | None listed |
| 4.19.283 | unaffected | semver | Unavailable | 4.19.* | None listed |
| 5.4.243 | unaffected | semver | Unavailable | 5.4.* | None listed |
| 5.10.180 | unaffected | semver | Unavailable | 5.10.* | None listed |
| 5.15.111 | unaffected | semver | Unavailable | 5.15.* | None listed |
| 6.1.28 | unaffected | semver | Unavailable | 6.1.* | None listed |
| 6.2.15 | unaffected | semver | Unavailable | 6.2.* | None listed |
| 6.3.2 | unaffected | semver | Unavailable | 6.3.* | None listed |
| 6.4 | unaffected | original_commit_for_fix | Unavailable | * | None listed |