Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2022-50297

wifi: ath9k: verify the expected usb_endpoints are present

Description

In the Linux kernel, the following vulnerability has been resolved: wifi: ath9k: verify the expected usb_endpoints are present The bug arises when a USB device claims to be an ATH9K but doesn't have the expected endpoints. (In this case there was an interrupt endpoint where the driver expected a bulk endpoint.) The kernel needs to be able to handle such devices without getting an internal error. usb 1-1: BOGUS urb xfer, pipe 3 != type 1 WARNING: CPU: 3 PID: 500 at drivers/usb/core/urb.c:493 usb_submit_urb+0xce2/0x1430 drivers/usb/core/urb.c:493 Modules linked in: CPU: 3 PID: 500 Comm: kworker/3:2 Not tainted 5.10.135-syzkaller #0 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014 Workqueue: events request_firmware_work_func RIP: 0010:usb_submit_urb+0xce2/0x1430 drivers/usb/core/urb.c:493 Call Trace: ath9k_hif_usb_alloc_rx_urbs drivers/net/wireless/ath/ath9k/hif_usb.c:908 [inline] ath9k_hif_usb_alloc_urbs+0x75e/0x1010 drivers/net/wireless/ath/ath9k/hif_usb.c:1019 ath9k_hif_usb_dev_init drivers/net/wireless/ath/ath9k/hif_usb.c:1109 [inline] ath9k_hif_usb_firmware_cb+0x142/0x530 drivers/net/wireless/ath/ath9k/hif_usb.c:1242 request_firmware_work_func+0x12e/0x240 drivers/base/firmware_loader/main.c:1097 process_one_work+0x9af/0x1600 kernel/workqueue.c:2279 worker_thread+0x61d/0x12f0 kernel/workqueue.c:2425 kthread+0x3b4/0x4a0 kernel/kthread.c:313 ret_from_fork+0x22/0x30 arch/x86/entry/entry_64.S:299 Found by Linux Verification Center (linuxtesting.org) with Syzkaller.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • fb9987d0f748c983bb795a86f47522313f701a08 to < 932f0a5e829fb0b823f96d7fa9a0f4fc96660b77affected
  • fb9987d0f748c983bb795a86f47522313f701a08 to < d008a202a0528a058bac658e657c010ce8534f4aaffected
  • fb9987d0f748c983bb795a86f47522313f701a08 to < d64436af0bc3c9e579be761d7684f228fb95f3bbaffected
  • fb9987d0f748c983bb795a86f47522313f701a08 to < ca57748593ddd8e46d033fbaeb9d01ec533a6bfeaffected
  • fb9987d0f748c983bb795a86f47522313f701a08 to < 1824ccabee5445347b83642e4087cc2eca070343affected
  • fb9987d0f748c983bb795a86f47522313f701a08 to < c319196a0e34ed2e66d6f876f58d8d446335c2a7affected
  • fb9987d0f748c983bb795a86f47522313f701a08 to < 2d2eccf52ea0215c8d386b62af0b5fd4fc122bd5affected
  • fb9987d0f748c983bb795a86f47522313f701a08 to < 0b7e6d681e00a96cde2b32a15ffa70e1be2e3209affected
  • fb9987d0f748c983bb795a86f47522313f701a08 to < 16ef02bad239f11f322df8425d302be62f0443ceaffected

Linux Linux

Default version status: affected

  • 2.6.35affected
  • 0 to < 2.6.35unaffected
  • 4.9.337 to ≤ 4.9.*unaffected
  • 4.14.303 to ≤ 4.14.*unaffected
  • 4.19.270 to ≤ 4.19.*unaffected
  • 5.4.229 to ≤ 5.4.*unaffected
  • 5.10.163 to ≤ 5.10.*unaffected
  • 5.15.86 to ≤ 5.15.*unaffected
  • 6.0.16 to ≤ 6.0.*unaffected
  • 6.1.2 to ≤ 6.1.*unaffected
  • 6.2 to ≤ *unaffected

References