Уязвимость во FreeBSD, эксплуатируемая через вредоносное USB-устройство

Во FreeBSD устранена уязвимость в USB-стеке (CVE-2020-7456), которая позволяет организовать выполнение кода на уровне ядра или в пространстве пользователя при подключении к системе вредоносного USB-устройства. Дескрипторы устройств USB HID (Human Interface Device) могут помещать и извлекать текущее состояние, позволяя объединять описания элементов в многоуровневые группы. FreeBSD поддерживает до 4 подобных уровней извлечения. Если уровень не был восстановлен при обработке того же HID-элемента, выполняется обращение к некорректной области памяти. Проблема устранена в обновлениях FreeBSD 11.3-RELEASE-p10 и 12.1-RELEASE-p6. В качестве обходного пути защиты рекомендуется установить параметр «sysctl hw.usb.disable_enumeration=1».

Уязвимость выявлена Andy Nguyen из компании Google и не пересекается с другой проблемой, недавно анонсированной исследователями из Университета Пёрдью́ и Федеральной политехнической школы Лозанны. Данные исследователи разработали инструментарий USBFuzz, симулирующий некорректное работающее USB-устройство для fuzzing-тестирования USB-драйверов. USBFuzz в ближайшее время планируется опубликовать на GitHub. При помощи нового инструмента было выявлено 26 уязвимостей, из которых 18 в Linux, 4 в Windows, 3 в macOS и одна во FreeBSD. Детали про данные проблемы пока не раскрываются, упомянуто лишь, что для 10 уязвимостей получены CVE-идентификаторы, а проявляющиеся в Linux 11 проблем уже исправлены. Похожую технику fuzzing-тестирования применяет Андрей Коновалов из Google, который за последние несколько лет выявил 44 уязвимости в USB-стеке Linux.

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

Добавить комментарий