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

Azure RTOS USBX — это высокопроизводительный USB-хост, устройство и встроенный стек On-The-Go (OTG), который полностью интегрирован с Azure…

CVSS
9.8
Критический
EPSS
0.01
p45
Опубликовано
2022-01-01
Обновлено
2022-01-01
Описание

Azure RTOS USBX — это высокопроизводительный USB-хост, устройство и встроенный стек On-The-Go (OTG), который полностью интегрирован с Azure RTOS ThreadX. Дело в том, что в [_ux_host_class_pima_read](https://github.com/azure-rtos/usbx/blob/master/common/usbx_host_classes/src/ux_host_class_pima_read.c) есть длина данных из ответа устройства, возвращаемая в самом первом пакете и считываемая [кодом L165](https://github.com/azure-rtos/usbx/blob/082fd9db09a3669eca3358f10b8837a5c1635c0b/common/usbx_host_classes/src/ux_host_class_pima_read.c#L165) в качестве header_length. Затем в [коде L178](https://github.com/azure-rtos/usbx/blob/082fd9db09a3669eca3358f10b8837a5c1635c0b/common/usbx_host_classes/src/ux_host_class_pima_read.c#L178) есть ветвь "if", которая проверяет выражение "(header_length - UX_HOST_CLASS_PIMA_DATA_HEADER_SIZE) > data_length", где, если header_length меньше, чем UX_HOST_CLASS_PIMA_DATA_HEADER_SIZE, вычисление может переполниться, а затем [код L182](https://github.com/azure-rtos/usbx/blob/082fd9db09a3669eca3358f10b8837a5c1635c0b/common/usbx_host_classes/src/ux_host_class_pima_read.c#L182) вычисление data_length также переполняется, таким образом, более поздний [цикл while начинается с L192](https://github.com/azure-rtos/usbx/blob/082fd9db09a3669eca3358f10b8837a5c1635c0b/common/usbx_host_classes/src/ux_host_class_pima_read.c#L192) может переместить data_pointer на неожиданный адрес и вызвать переполнение буфера записи. Исправление было включено в выпуск USBX [6.1.12](https://github.com/azure-rtos/usbx/releases/tag/v6.1.12_rel). Следующее можно использовать в качестве обходного пути: Добавьте проверку `header_length`: 1. Она должна быть больше, чем `UX_HOST_CLASS_PIMA_DATA_HEADER_SIZE`. 1. Она должна быть больше или равна текущей возвращаемой длине данных (`transfer_request -> ux_transfer_request_actual_length`).

Теги · CWE
Без аутентификации
CWE-191
Затронутые продукты
Threadx_usbx < 6.1.12
Вектор CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Хронология
2022-01-01
Опубликована
2022-01-01
Обновлена
Разбор CVSS 3.1
Вектор атаки
AV: N
Сеть (N)
Сложность атаки
AC: L
Низкая (L)
Требуемые привилегии
PR: N
Отсутствуют (N)
Взаимодействие с пользователем
UI: N
Отсутствует (N)
Область воздействия
S: U
Неизменная (U)
Воздействие на конфиденциальность
C: H
Высокое (H)
Воздействие на целостность
I: H
Высокое (H)
Воздействие на доступность
A: H
Высокое (H)
Индикаторы эксплуатации
EPSS
0.006 · p45
Известна эксплуатация (KEV)
Нет
Проверки Сканер-ВС
Проверок Сканер-ВС для этой уязвимости в базе пока нет.
Затронутые продукты
ПродуктВендорСтатус
threadx_usbx*Отслеживается
Источники данных
CVE