В ядре Linux устранена следующая уязвимость:
можно: gs_usb: gs_usb_receive_bulk_callback(): отсоединить URL-адрес при ошибке usb_submit_urb()
В коммите 7352e1d5932a ("can: gs_usb: gs_usb_receive_bulk_callback(): исправить
Утечка памяти URB"), URB был повторно закреплен перед usb_submit_urb() в
gs_usb_receive_bulk_callback(), чтобы предотвратить утечку этого URB во время
уборка. Однако этот патч не учел, что usb_submit_urb() может
провалиться. URB остается закрепленным и
usb_kill_anchored_urbs(&parent->rx_submitted) в циклах gs_can_close()
бесконечно, поскольку список привязок никогда не становится пустым.
Чтобы исправить эту ошибку, отсоедините URB при возникновении ошибки usb_submit_urb():
также распечатайте информационное сообщение.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: can: gs_usb: gs_usb_receive_bulk_callback(): unanchor URL on usb_submit_urb() error In commit 7352e1d5932a ("can: gs_usb: gs_usb_receive_bulk_callback(): fix URB memory leak"), the URB was re-anchored before usb_submit_urb() in gs_usb_receive_bulk_callback() to prevent a leak of this URB during cleanup. However, this patch did not take into account that usb_submit_urb() could fail. The URB remains anchored and usb_kill_anchored_urbs(&parent->rx_submitted) in gs_can_close() loops infinitely since the anchor list never becomes empty. To fix the bug, unanchor the URB when an usb_submit_urb() error occurs, also print an info message.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 3
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:6.12.67:*:*:*:*:*:*:*
|
— | — |
|
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:6.18.7:*:*:*:*:*:*:*
|
— | — |
|
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:6.19:rc6:*:*:*:*:*:*
|
— | — |