Уязвимости в драйвере ozwpan, позволяющие удалённо вызвать крах ядра Linux

В поставляемом в составе ядра Linux драйвере ozwpan выявлено пять уязвимостей, четыре из которых позволяют инициировать крах или зацикливание ядра через отправку специально оформленных пакетов (packet-of-death).

Первая и вторая проблемы связаны с выходом за границы буфера из-за некорректной обработки знаковых целых чисел, третья проблема вызвана условиями при которых выполняется деление на ноль, четвёртая проблема приводит к бесконечному зацикливанию, пятая проблема вызвана возможности чтения из областей вне границ выделенного буфера. Для демонстрации проявления уязвимостей подготовлены прототипы эксплоитов, пишет opennet.ru.

Опасность выявленных уязвимостей компенсирует достаточно специфичный характер драйвера ozwpan, который используется в редких случаях и имеет статус экспериментального (staging), а также необходимость отправки пакетов на канальном уровне в рамках одного сегмента локальной сети. Драйвер ozwpan предоставляет реализацию хост контроллера USB, в которой вместо физического подключения устройства, взаимодействие с периферией осуществляется через Wi-Fi. Драйвер может быть сопряжён с существующими беспроводными устройствами, совместимыми с технологией Ozmo Devices (Wi-Fi Direct). Метод работы сводится к преобразованию USB-команд в протокол второго уровня сетевой модели с последующей передачей в форме пакетов c типом (ethertype) 0x892e. Драйвер принимает такие пакеты, разбирает их и преобразует в функциональность USB.