CVE-2024-38567

wifi: carl9170: add a proper sanity check for endpoints

State
Published
Severity
Not scored
Published
Jun 19, 2024
Updated
Oct 15, 2026
Reserved
Jun 18, 2024

Read the record on cve.org

Description

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 usb_submit_urb+0xed6/0x1880 drivers/usb/core/urb.c:504 ... Call Trace: <TASK> carl9170_usb_send_rx_irq_urb+0x273/0x340 drivers/net/wireless/ath/carl9170/usb.c:504 carl9170_usb_init_device drivers/net/wireless/ath/carl9170/usb.c:939 [inline] carl9170_usb_firmware_finish drivers/net/wireless/ath/carl9170/usb.c:999 [inline] carl9170_usb_firmware_step2+0x175/0x240 drivers/net/wireless/ath/carl9170/usb.c:1028 request_firmware_work_func+0x130/0x240 drivers/base/firmware_loader/main.c:1107 process_one_work+0x9bf/0x1710 kernel/workqueue.c:2289 worker_thread+0x669/0x1090 kernel/workqueue.c:2436 kthread+0x2e8/0x3a0 kernel/kthread.c:376 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:308 </TASK>

[2] Related syzkaller crashes:

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • a84fab3cbfdc427e7d366f1cc844f27b2084c26c to before eb0f2fc3ff5806cc572cd9055ce7c52a01e97645Affected
  • a84fab3cbfdc427e7d366f1cc844f27b2084c26c to before ac3ed46a8741d464bc70ebdf7433c1d786cf329dAffected
  • a84fab3cbfdc427e7d366f1cc844f27b2084c26c to before 8650725bb0a48b206d5a8ddad3a7488f9a5985b7Affected
  • a84fab3cbfdc427e7d366f1cc844f27b2084c26c to before 6a9892bf24c906b4d6b587f8759ca38bff672582Affected
  • a84fab3cbfdc427e7d366f1cc844f27b2084c26c to before 265c3cda471c26e0f25d0c755da94e1eb15d7a0cAffected
  • a84fab3cbfdc427e7d366f1cc844f27b2084c26c to before 62eb07923f3693d55b0c2d9a5a4f1ad72cb6b8fdAffected
  • a84fab3cbfdc427e7d366f1cc844f27b2084c26c to before 03ddc74bdfd71b84a55c9f2185d8787f258422cdAffected
  • a84fab3cbfdc427e7d366f1cc844f27b2084c26c to before 0fa08a55201ab9be72bacb8ea93cf752d338184fAffected
  • a84fab3cbfdc427e7d366f1cc844f27b2084c26c to before b6dd09b3dac89b45d1ea3e3bd035a3859c0369a0Affected
LinuxLinux
  • 2.6.37Affected
  • before 2.6.37Not affected
  • 4.19.316 through 4.19.*Not affected
  • 5.4.278 through 5.4.*Not affected
  • 5.10.219 through 5.10.*Not affected
  • 5.15.161 through 5.15.*Not affected
  • 6.1.93 through 6.1.*Not affected
  • 6.6.33 through 6.6.*Not affected
  • 6.8.12 through 6.8.*Not affected
  • 6.9.3 through 6.9.*Not affected
  • 6.10 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.