CVE-2024-38567

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-38567
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-38567.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-38567
Downstream
Related
Published
2024-06-19T13:35:34.254Z
Modified
2025-11-28T02:34:19.539631Z
Summary
wifi: carl9170: add a proper sanity check for endpoints
Details

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

wifi: carl9170: add a proper sanity check for endpoints

Syzkaller reports [1] hitting a warning which is caused by presence of a wrong endpoint type at the URB sumbitting stage. While there was a check for a specific 4th endpoint, since it can switch types between bulk and interrupt, other endpoints are trusted implicitly. Similar warning is triggered in a couple of other syzbot issues [2].

Fix the issue by doing a comprehensive check of all endpoints taking into account difference between high- and full-speed configuration.

[1] Syzkaller report: ... WARNING: CPU: 0 PID: 4721 at drivers/usb/core/urb.c:504 usbsubmiturb+0xed6/0x1880 drivers/usb/core/urb.c:504 ... Call Trace: <TASK> carl9170usbsendrxirqurb+0x273/0x340 drivers/net/wireless/ath/carl9170/usb.c:504 carl9170usbinitdevice drivers/net/wireless/ath/carl9170/usb.c:939 [inline] carl9170usbfirmwarefinish drivers/net/wireless/ath/carl9170/usb.c:999 [inline] carl9170usbfirmwarestep2+0x175/0x240 drivers/net/wireless/ath/carl9170/usb.c:1028 requestfirmwareworkfunc+0x130/0x240 drivers/base/firmwareloader/main.c:1107 processonework+0x9bf/0x1710 kernel/workqueue.c:2289 workerthread+0x669/0x1090 kernel/workqueue.c:2436 kthread+0x2e8/0x3a0 kernel/kthread.c:376 retfromfork+0x1f/0x30 arch/x86/entry/entry64.S:308 </TASK>

[2] Related syzkaller crashes:

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/38xxx/CVE-2024-38567.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
a84fab3cbfdc427e7d366f1cc844f27b2084c26c
Fixed
eb0f2fc3ff5806cc572cd9055ce7c52a01e97645
Fixed
ac3ed46a8741d464bc70ebdf7433c1d786cf329d
Fixed
8650725bb0a48b206d5a8ddad3a7488f9a5985b7
Fixed
6a9892bf24c906b4d6b587f8759ca38bff672582
Fixed
265c3cda471c26e0f25d0c755da94e1eb15d7a0c
Fixed
62eb07923f3693d55b0c2d9a5a4f1ad72cb6b8fd
Fixed
03ddc74bdfd71b84a55c9f2185d8787f258422cd
Fixed
0fa08a55201ab9be72bacb8ea93cf752d338184f
Fixed
b6dd09b3dac89b45d1ea3e3bd035a3859c0369a0

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
2.6.37
Fixed
4.19.316
Type
ECOSYSTEM
Events
Introduced
4.20.0
Fixed
5.4.278
Type
ECOSYSTEM
Events
Introduced
5.5.0
Fixed
5.10.219
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.161
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.93
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.33
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.8.12
Type
ECOSYSTEM
Events
Introduced
6.9.0
Fixed
6.9.3