Zephyr RTOS, под управлением которой работают многие встроенные устройства (включая слуховые аппараты, «умные» трекеры, IoT-шлюзы, портативные устройства резервного копирования и так далее), получила обновление, исправившее ряд уязвимостей, ведущих к отказу в обслуживании (DoS), а также удаленному выполнению произвольного кода.
Проблемы были обнаружены в Zephyr Bluetooth LE Link Layer (LL), а также его имплементации Logical Link Control and Adaptation Protocol (L2CAP). Все восемь уязвимостей обнаружил эксперт компании Synopsys Матиас Кархумаа (Matias Karhumaa), когда изучал самые нижние уровни стека Bluetooth LE. Проблемам были присвоены следующие идентификаторы: CVE-2021-3430, CVE-2021-3431, CVE-2021-3432, CVE-2021-3433, CVE-2021-3434, CVE-2021-3435, CVE-2021-3454 и CVE-2021-3455.
Как уже было сказано выше, все уязвимости затрагивают Bluetooth LE Link Layer и L2CAP. Большинство из них касается Zephyr версий 2.5.0 и 2.4.0, а некоторые баги также присутствуют в версии 1.14. Эксплуатация большинства этих проблем не позволяет уязвимому устройству нормально работать, либо заставляя девайс зависать, либо не позволяя подключиться к нему.
В начале текущего месяца вышла новая версия Zephyr, 2.6.0, в состав которой вошли патчи для всех багов, найденных экспертом.
В блоге компании исследователь рассказывает, что при определенных обстоятельствах зависания устройств могут привести к удаленному выполнению кода, а злоумышленники могут вызвать DoS-состояние, используя всего один пакет.
К примеру, эксплуатация уязвимости CVE-2021-3435 приводит к утечке информации, которая может содержать конфиденциальные данные. Отправляя лишь один вредоносный пакет L2CAP_CREDIT_BASED_CONNECTION_REQ, злоумышленник может прочитать до 6 байтов содержимого памяти.
Другая уязвимость, CVE-2021-3455, провоцирует отказ в обслуживании, но тоже имеет потенциал для удаленного выполнения кода за счет использования use-after-free бага в L2CAP.