Уязвимости в Bluetooth-чипах TI, позволяющие удаленно выполнить код
Исследователи безопасности из компании Armis сообщили о выявлении двух критических уязвимостей в BLE (Bluetooth Low Energy) чипах от компании Texas Instruments (CC2640, CC2650 и CC1350), используемых в моделях беспроводных точек доступа Cisco, Meraki и Aruba для предприятий. Уязвимости позволяют выполнить код в контексте BLE-чипа, после чего получить привилегированный доступ к основному программному окружению точки доступа. Атака не требует прохождения аутентификации и может быть совершена при нахождении злоумышленника в пределах досягаемости Bluetooth Low Energy (около 10 метров).
BLE в беспроводной точке доступа обычно применяется для подключения IoT-устройств и различного специализированного оборудования (например, медицинских датчиков), а также для отслеживания перемещения посетителей в магазинах. В качестве одного из векторов атаки называется замена прошивки на вариант с вредоносным кодом, который может анализировать трафик (например, перехватывать пароли), атаковать пользователей (например, подставлять вредоносные JavaScript-вставки в незашифрованные HTTP-сеансы) и использоваться в качестве плацдарма для расширения атаки на элементы корпоративной сети.
Первая уязвимость (CVE-2018-16986) затрагивает точки доступа Cisco Aironet (1540, 18xx, 4800) и Meraki MR (30H, 33, 42E, 53E, 74) и позволяет инициировать переполнение буфера в прошивке чипа при обработке определенным образом оформленных широковещательных BLE-сообщений. Эксплуатация уязвимости выполняется в два этапа. На первом этапе отправляется обычный advertising-пакет, который сохраняется BLE-чипом в памяти. На втором этапе отправляется некорректный advertising-пакет с модифицированными флагами в заголовке, отбработка которого приводит к выделению буфера недостаточного размера и перетиранию данных за пределами буфера. Первый пакет позволяет сохранить в памяти предназначенный для выполнения вредоносный код, а второй пакет дает возможность переопределить указатель для передачи управления этому коду. Проблема проявляется только при включении BLE и активации в настройках режима сканирования устройств (отключен по умолчанию).
Вторая уязвимость (CVE-2018-7080) проявляется в беспроводных точках доступа Aruba (AP-3xx, IAP-3xx, AP-203R, AP-203RP) и вызвана недоработкой в коде загрузки OTA-обновлений прошивок для BLE-чипов TI. Суть уязвимости в использовании предопределенного пароля доступа к функции обновления прошивки, который одинаков на всех устройствах и который можно узнать анализируя трафик во время штатного обновления прошивки или проведя обратный инжиниринг прошивки. Данный пароль можно использовать для организации установки злоумышленником модифицированного обновления прошивки.
Компании Cisco, Meraki и Aruba уже выпустили обновления прошивок, блокирующих уязвимость. Компания Texas Instruments устранила проблему в прошивке BLE-STACK 2.2.2. Опасность уязвимостей оценивается как незначительная, так как, во-первых, атака возможна только при включении опции сканирования устройств BLE, а, во-вторых, эксплуатация уязвимости сильно усложнена и требует адаптации эксплоита для каждой модели устройства и разработки модифицированной прошивки.