CVE-2023-53641

Source
https://cve.org/CVERecord?id=CVE-2023-53641
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-53641.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2023-53641
Downstream
Related
Published
2025-10-07T15:19:41.028Z
Modified
2026-03-11T07:50:09.164407Z
Summary
wifi: ath9k: hif_usb: fix memory leak of remain_skbs
Details

In the Linux kernel, the following vulnerability has been resolved:

wifi: ath9k: hifusb: fix memory leak of remainskbs

hifdev->remainskb is allocated and used exclusively in ath9khifusbrxstream(). It is implied that an allocated remainskb is processed and subsequently freed (in error paths) only during the next call of ath9khifusbrx_stream().

So, if the urbs are deallocated between those two calls due to the device deinitialization or suspend, it is possible that ath9khifusbrxstream() is not called next time and the allocated remain_skb is leaked. Our local Syzkaller instance was able to trigger that.

remainskb 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 ath9khifusbrx_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 remainskb (if it is not NULL) when the rx urbs have been deallocated. remainskb is NULL when it has not been allocated at all (hifdev struct is kzalloced) or when it has been processed in next call to ath9khifusbrx_stream().

Found by Linux Verification Center (linuxtesting.org) with Syzkaller.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/53xxx/CVE-2023-53641.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
fb9987d0f748c983bb795a86f47522313f701a08
Fixed
6719e3797ec52cd144c8a5ba8aaab36674800585
Fixed
d9899318660791141ea6002fda5577b2c5d7386e
Fixed
320d760a35273aa815d58b57e4fd9ba5279a3489
Fixed
59073060fe0950c6ecbe12bdc06469dcac62128d
Fixed
9b9356a3014123f0ce4b50d9278c1265173150ab
Fixed
f0931fc8f4b6847c72e170d2326861c0a081d680
Fixed
8f02d538878c9b1501f624595eb22ee4e5e0ff84
Fixed
7654cc03eb699297130b693ec34e25f77b17c947

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-53641.json"