V
Сканер-ВС
ГлавнаяКаталогИсточникиCWECAPECATT&CKМеры защитыПродуктыВендорыДокументация
CVE-2025-68331
AST
Отсутствует

В ядре Linux устранена следующая уязвимость: usb: uas: исправить проблему с картированием в нашей области при удалении устройства во время …

CVSS
0.0
Отсутствует
EPSS
0.00
p9
Опубликовано
2025-01-01
Обновлено
2025-01-01
Описание

В ядре Linux устранена следующая уязвимость: usb: uas: исправить проблему с картированием в нашей области при удалении устройства во время постоянной передачи данных Когда устройство БПЛА отключается во время передачи данных, есть Вероятность возникновения системной паники. Коренную причину является доступ к неверному адресу памяти во время обработки обратного звонка URB. В частности, это происходит, когда функция dma_direct_unmap_sg() называется в интерфейсе usb_hcd_unmap_urb_for_dma(), но sg->dma_address поле 0, и структура sg данных уже была Освобожденный. Водитель SCSI отправляет команды передачи, ссылаясь на uas_queuecommand_lck() в uas.c, используя функцию uas_submit_urbs() для отправки запросов на USB. В рамках реализации uas_submit_urbs() три URB (sense_urb, data_urb, и cmd_urb) последовательно представляются. Удаление устройства может происходить в любой момент во время выполнения uas_submit_urbs, что может привести к В URB подача провал. Тем не менее, некоторые URB могли быть успешно представлен до провала, и uas_submit_urbs вернет -ENODEV Код ошибки в данном случае. Текущая обработка ошибок напрямую вызывает scsi_done(). В драйвере SCSI это в конечном итоге запускает scsi_complete() вызвать scsi_end_request() для выпуска sgtable. Успешно представленный URBs, когда вы отвязаны к возврату, позвоните usb_hcd_unmap_urb_for_dma() in hcd.c, что приводит к исключениям во время sg Операции по разборке с момента sg-структуры данных уже освобождены. Этот патч изменяет проверку состояния ошибки в uas_submit_urbs() функция. Когда устройство БПЛА удалено, но один или несколько URB уже был успешно подан на USB, он избегает немедленного вызова scsi_done() и сохраните конд к devinfo->cmnd массив. Если успешно представленные URBs завершается до установки devinfo->сброса, затем функция scsi_done() будет называться в пределах uas_try_complete() после Все ожидаемые операции URB завершены. В противном случае, scsi_done() функция будет называться в uas_zap_pending(), которая выполняется после usb_kill_anchored_urbs(). Обработка ошибок вступает в силу только при звонке uas_queuecommand_lck() uas_submit_urbs() и возвращает значение ошибки -ENODEV . В данном случае, устройство отключено, и поток переходит к uas_disconnect(), где uas_zap_pending() вызывается для вызова uas_try_complete().

Затронутые продукты
LinuxLinuxLinuxLinuxLinux-5.10Linux-6.1Linux-allwinner-5.19Linux-aws-5.19Linux-aws-6.2Linux-aws-6.5Linux-azure-5.19Linux-azure-6.11Linux-azure-6.2Linux-azure-6.5Linux-azure-fde-5.19Linux-azure-fde-6.2Linux-gcp-5.19Linux-gcp-6.11Linux-gcp-6.2Linux-gcp-6.5
Хронология
2025-01-01
Опубликована
2025-01-01
Обновлена
Индикаторы эксплуатации
EPSS
0.002 · p9
Известна эксплуатация (KEV)
Нет
Проверки Сканер-ВС
Проверок Сканер-ВС для этой уязвимости в базе пока нет.
Затронутые продукты
ПродуктВендорСтатус
linuxОтслеживается
linuxОтслеживается
linuxОтслеживается
linuxОтслеживается
linux-5.10Отслеживается
linux-6.1Отслеживается
linux-allwinner-5.19Отслеживается
linux-aws-5.19Отслеживается
linux-aws-6.2Отслеживается
linux-aws-6.5Отслеживается
linux-azure-5.19Отслеживается
linux-azure-6.11Отслеживается
linux-azure-6.2Отслеживается
linux-azure-6.5Отслеживается
linux-azure-fde-5.19Отслеживается
linux-azure-fde-6.2Отслеживается
linux-gcp-5.19Отслеживается
linux-gcp-6.11Отслеживается
linux-gcp-6.2Отслеживается
linux-gcp-6.5Отслеживается
Показаны первые 20 из 50