Ad

CVE-2026-72483

HIGH CVSS 3.1: 7,8 EPSS 0.18%
Обновлено 17 августа 2026
Linux
Параметр Значение
CVSS 7,8 (HIGH)
Уязвимые версии 3.16 — 7.2-rc1
Устранено в версии 5.10.261
Поставщик Linux
Публичный эксплойт Нет

В ядре Linux устранена следующая уязвимость: USB: хост: max3421: исправлено смещение за пределы в max3421_hub_control(). Функция max3421_hub_control() обрабатывает запросы класса USB-концентратора. к виртуальному корневому концентратору. В ветках `default` обоих Операторы переключения ClearPortFeature и SetPortFeature изменяют `max3421_hcd->port_status` сдвигом влево на 1 на `value` запроса параметр.

Однако он не проверяет, превысит ли этот сдвиг ширина `port_status`. Поэтому, если вредоносная задача пользовательского пространства с доступом к корневому концентратору через /dev/bus/usb/.../001 выдает ioctl USBDEVFS_CONTROL с `wValue` больше или равно 32, операция сдвига влево вызывает неопределенное поведение при выходе за пределы границ. Это приводит к произвольному битовое повреждение `port_status`, включая обычно неизменяемый изменить биты, что может обойти внутренние проверки состояния и запутать статус хаба.

Исправьте это, отклонив запросы, «значение» которых превышает ширину сдвига. перед выполнением смены. Эта проблема была обнаружена с помощью инструмента символьного выполнения на основе KLEE для драйверы ядра, которые я сейчас разрабатываю.

Показать оригинальное описание (EN)

In the Linux kernel, the following vulnerability has been resolved: usb: host: max3421: Fix shift-out-of-bounds in max3421_hub_control() The `max3421_hub_control()` function handles USB hub class requests to the virtual root hub. In the `default` branches of both the `ClearPortFeature` and `SetPortFeature` switch statements, it modifies `max3421_hcd->port_status` by left shifting 1 by the request's `value` parameter. However, it does not validate whether this shift will exceed the width of `port_status`. So if a malicious userspace task with access to the root hub via /dev/bus/usb/.../001 issues a USBDEVFS_CONTROL ioctl with `wValue` greater than or equal to 32, the left shift operation invokes shift-out-of-bounds undefined behavior. This results in arbitrary bit corruption of `port_status`, including the normally-immutable change bits, which can bypass internal state checks and confuse the hub status. Fix this by rejecting requests whose `value` exceeds the shift width before performing the shift. This issue was found using a KLEE-based symbolic execution tool for kernel drivers that I'm currently developing.

Характеристики атаки

Способ атаки
Локальный
Нужен локальный доступ
Сложность
Низкая
Легко эксплуатировать
Нужны права
Низкие
Нужны базовые права
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Высокое
Полная утечка данных
Целостность
Высокое
Полная модификация данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1

Уязвимые продукты 8

Конфигурация От (включительно) До (исключительно)
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
3.16 5.10.261
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
3.16 5.15.212
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
3.16 6.1.178
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
3.16 6.6.145
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
3.16 6.12.97
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
3.16 6.18.40
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
3.16 7.1.5
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
3.16 7.2-rc1