Description
In the Linux kernel, the following vulnerability has been resolved: usb: gadget: rndis: add spinlock for rndis response list There's no lock for rndis response list. It could cause list corruption if there're two different list_add at the same time like below. It's better to add in rndis_add_response / rndis_free_response / rndis_get_next_response to prevent any race condition on response list. [ 361.894299] [1: irq/191-dwc3:16979] list_add corruption. next->prev should be prev (ffffff80651764d0), but was ffffff883dc36f80. (next=ffffff80651764d0). [ 361.904380] [1: irq/191-dwc3:16979] Call trace: [ 361.904391] [1: irq/191-dwc3:16979] __list_add_valid+0x74/0x90 [ 361.904401] [1: irq/191-dwc3:16979] rndis_msg_parser+0x168/0x8c0 [ 361.904409] [1: irq/191-dwc3:16979] rndis_command_complete+0x24/0x84 [ 361.904417] [1: irq/191-dwc3:16979] usb_gadget_giveback_request+0x20/0xe4 [ 361.904426] [1: irq/191-dwc3:16979] dwc3_gadget_giveback+0x44/0x60 [ 361.904434] [1: irq/191-dwc3:16979] dwc3_ep0_complete_data+0x1e8/0x3a0 [ 361.904442] [1: irq/191-dwc3:16979] dwc3_ep0_interrupt+0x29c/0x3dc [ 361.904450] [1: irq/191-dwc3:16979] dwc3_process_event_entry+0x78/0x6cc [ 361.904457] [1: irq/191-dwc3:16979] dwc3_process_event_buf+0xa0/0x1ec [ 361.904465] [1: irq/191-dwc3:16979] dwc3_thread_interrupt+0x34/0x5c
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
f6281af9d62e128aa6efad29cf7265062af114f2 to < 9f5d8ba538ef81cd86ea587ca3f8c77e26bea405affectedf6281af9d62e128aa6efad29cf7265062af114f2 to < 669c2b178956718407af5631ccbc61c24413f038affectedf6281af9d62e128aa6efad29cf7265062af114f2 to < 9f688aadede6b862a0a898792b1a35421c93636faffectedf6281af9d62e128aa6efad29cf7265062af114f2 to < 9ab652d41deab49848673c3dadb57ad338485376affectedf6281af9d62e128aa6efad29cf7265062af114f2 to < 4ce247af3f30078d5b97554f1ae6200a0222c15aaffectedf6281af9d62e128aa6efad29cf7265062af114f2 to < da514063440b53a27309a4528b726f92c3cfe56faffectedf6281af9d62e128aa6efad29cf7265062af114f2 to < 33222d1571d7ce8c1c75f6b488f38968fa93d2d9affectedf6281af9d62e128aa6efad29cf7265062af114f2 to < aaaba1c86d04dac8e49bf508b492f81506257da3affected
Linux Linux
Default version status: affected
4.6affected0 to < 4.6unaffected4.9.304 to ≤ 4.9.*unaffected4.14.269 to ≤ 4.14.*unaffected4.19.232 to ≤ 4.19.*unaffected5.4.182 to ≤ 5.4.*unaffected5.10.103 to ≤ 5.10.*unaffected5.15.26 to ≤ 5.15.*unaffected5.16.12 to ≤ 5.16.*unaffected5.17 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/9f5d8ba538ef81cd86ea587ca3f8c77e26bea405 ↗
- https://git.kernel.org/stable/c/669c2b178956718407af5631ccbc61c24413f038 ↗
- https://git.kernel.org/stable/c/9f688aadede6b862a0a898792b1a35421c93636f ↗
- https://git.kernel.org/stable/c/9ab652d41deab49848673c3dadb57ad338485376 ↗
- https://git.kernel.org/stable/c/4ce247af3f30078d5b97554f1ae6200a0222c15a ↗
- https://git.kernel.org/stable/c/da514063440b53a27309a4528b726f92c3cfe56f ↗
- https://git.kernel.org/stable/c/33222d1571d7ce8c1c75f6b488f38968fa93d2d9 ↗
- https://git.kernel.org/stable/c/aaaba1c86d04dac8e49bf508b492f81506257da3 ↗