Исследователи из компании Tarlogic Security представили на проходящей в Испании конференции RootedCON результаты анализа низкоуровневой начинки микрочипов ESP32, оснащённых встроенными контроллерами Wi-Fi и Bluetooth. Судя по опубликованному в 2023 году отчёту китайской компании Espressif, по всему миру продано более миллиарда экземпляров ESP32. В ходе анализа загружаемых в чип прошивок исследователи выявили 29 недокументированных HCI-команд (Host Controller Interface), предназначенных для управления Bluetooth-контроллером.
В чипе ESP32 имеется независимый Bluetooth-контроллер, отделённый от основных процессорных ядер, выполняющих пользовательский код. Bluetooth-контроллер имеет собственный процессор, отвечающий за обработку Bluetooth-соединений и выполняющий собственную прошивку, реализующую Bluetooth-стек контроллера. Стек контроллера отвечает за управление аппаратным обеспечением, а высокоуровневая логика протокола Bluetooth реализуется на стороне Bluetooth-стека хоста, который может запускаться как на самом ESP32, так и на внешних устройствах (доступ через UART/SDIO).
Взаимодействие стека хоста, выполняемого в окружении, доступном для пользовательского кода, со стеком Bluetooth-контроллера, представляющим собой чёрный ящик, осуществляется посредством интерфейса HCI, подразумевающего возможность обращения только к типовой функциональности стека контроллера. Выявленные исследователями HCI-команды дают возможность получить низкоуровневый доступ к внутреннему окружению Bluetooth-контроллера, не описанный в спецификациях. Например, при помощи недокументированных команд можно получить доступ на чтение и запись к внутренней оперативной памяти и регистрам Bluetooth-контроллера, модифицировать Flash-память, изменить MAC-адрес и подставить свои пакеты LMP (Link Manager Protocol) и LLCP (Logical Link Control Protocol) для манипуляции Bluetooth-трафиком.
Подобные возможности заявлены исследователями как найденный бэкдор, но вероятно это лишь следствие оставленных производителем недокументированных низкоуровневых отладочных команд (дополнение: в обновлённом анонсе исследователи убрали текст про бэкдор). Организация MITRE присвоила проблеме идентификатор уязвимости CVE-2025-27840 с уровнем опасности 6.8 из 10.
На практике обнаруженная функциональность позволяет злоумышленникам получить доступ к Bluetooth-контроллеру на низком уровне в обход штатных программных интерфейсов. Команды можно использовать для того, чтобы манипулировать Bluetooth-трафиком на низком уровне или интегрировать незаметные для основной операционной системы вредоносные компоненты в ESP-память контроллера.
Интегрированное в Bluetooth-контроллер вредоносное ПО может совершать атаки на другие Bluetooth-устройства (например, выдавать подконтрольное атакующему устройство за другое для подключения к смартфонам и компьютерам) и обрабатывать управляющие команды, передаваемые через Bluetooth. Для компрометации систем на базе ESP32 атакующий должен получить к ним физический доступ или добиться выполнения кода на уровне пользовательского программного окружения, имеющего привилегированный доступ к контроллеру (например, через взлом уязвимых устройств или эксплуатацию уязвимостей в хостовом Bluetooth-стеке).
В ходе исследования написан специальный Bluetooth-драйвер USB Bluetooth, позволяющий полностью контролировать Bluetooth-контроллеры с интерфейсом USB и отправлять им низкоуровневые команды. Отдельно опубликован скрипт для перебора доступных на контроллере команд.
Источник: https://www.opennet.ru/opennews/art.shtml?num=62852