image

Специалист Google обнаружил почти во всех версиях Linux уязвимость в программном стеке Bluetooth BlueZ. Уязвимости подвержены сотни миллионов устройств по всему миру.

Особенную опасность уязвимость представляет для компьютеров и устройств на дистрибутивах Linux и Chrome OS, так как у Android есть собственный Bluetooth-стек.

Стек BlueZ разработала Qualcomm, а курирует группа компаний во главе с Intel. Он работает с ядром Linux версии 2.4.6 и выше.

В Intel заявили, что новые уязвимости BleedingTooth «всего лишь» ведут к открытию информации и к изменению уровня привилегий на атакуемом устройстве, а последняя версия Linux 5.9 не подвержена этой уязвимости. «Некорректная проверка ввода в BlueZ позволяет не прошедшему аутентификацию пользователю повысить права», — так сформулировали проблему в компании. Уязвимость оценили в 8,3 из 10 баллов.

Однако разработчик ядра Linux Мэтью Гаррет предположил, что Intel преуменьшает опасность уязвимости, когда утверждает, что в версии Linux 5.9 она не работает. Он выразил возмущение тем, что разработчиков дистрибутивов Linux не предупредили о проблеме до публикации официального отчета Intel об уязвимости.

Реализация новой уязвимости относительно проста. Злоумышленник должен находиться в зоне действия Bluetooth-передатчика атакуемого устройства, и оно должно быть активированным. Однако предварительного сопряжения с атакуемым устройством не требуется, как и активных действий жертвы. Для атаки достаточно знать MAC-адрес целевого устройства, который определяется, если «прослушивать эфир» программами для анализа трафика. В итоге хакер может отправить жертве Bluetooth-пакеты, которые позволят ему выполнить на устройстве программный код на уровне ядра Linux. Это требует узкоспециализированных знаний и работает лишь с небольшой частью Bluetooth-устройств в мире.

Исследователи безопасности продемонстрировали эксплойт уязвимости. Он работает с версии Linux 4.8. Это касается дистрибутивов Debian, RHEL (начиная с 7.4), SUSE, Ubuntu и Fedora.


Патчи от Intel вошли в ветку linux-next, однако в ветке Linux 5.9 их пока нет.
См. также: