В USB-драйверах из состава ядра Linux выявлено 15 уязвимостей

Андрей Коновалов из компании Google обнаружил 15 уязвимостей в USB-драйверах, предлагаемых в ядре Linux. Это вторая порция проблем, найденных при проведении fuzzing-тестирования — в 2017 году данный исследователь нашёл в USB-стеке ещё 14 уязвимостей. Проблемы потенциально могут быть эксплуатируемы при подключении к компьютеру специально подготовленных USB-устройств. Атака возможна при наличии физического доступа к оборудованию и может привести как минимум к краху ядра, но не исключаются и другие проявления (например, для выявленной в 2016 году похожей уязвимости в USB-драйвере snd-usbmidi удалось подготовить эксплоит для выполнения кода на уровне ядра).

Из 15 проблем 13 уже устранены в актуальных обновлениях ядра Linux, но две уязвимости (CVE-2019-15290, CVE-2019-15291) остаются неисправленными в последнем выпуске 5.2.9. Неисправленный уязвимости могут привести к разыменованию указателя NULL в драйверах ath6kl и b2c2 при получении некорректных данных от устройства. Из других уязвимостей можно отметить:

  • Обращения к уже освобождённым областям памяти (use-after-free) в драйверах v4l2-dev/radio-raremono, dvb-usb, sound/core, cpia2 и p54usb;
  • Двойное освобождение памяти (double-free) в драйвере rio500;
  • Разыменования указателя NULL в драйверах yurex, zr364xx, siano/smsusb, sisusbvga, line6/pcm, motu_microbookii и line6.

Источник: opennet.ru