BleedingTooth: уязвимость в BlueZ, позволяющая удаленно выполнять код

Инженеры Google выпустили через сообщение, которое они определили серьезная уязвимость (CVE-2020-12351) в стеке Bluetooth "BlueZ" который используется в дистрибутивах Linux и Chrome OS.

Уязвимость под кодовым названием BleedingTooth, позволяет неавторизованному злоумышленнику выполнить ваш код на уровне ядра. Linux без вмешательства пользователя путем отправки специально созданных пакетов Bluetooth.

Проблема может быть использована злоумышленником, находящимся в зоне действия Bluetooth, и в дополнение к тому факту, что между атакующим устройством и жертвой не требуется предыдущее сопряжение, единственным условием является то, что Bluetooth должен быть активен на компьютере.

Об уязвимости

Для атаки, достаточно знать MAC-адрес устройства жертвы, который можно определить путем отслеживания или, на некоторых устройствах, рассчитать на основе MAC-адреса Wi-Fi.

Уязвимость присутствует в компонентах, обрабатывающих пакеты L2CAP (Протокол управления логической связью и адаптации) на уровне ядра Linux.

При отправке специально созданного пакета L2CAP с дополнительными данными для канала A2MP, злоумышленник может перезаписать область из памяти mapped, который потенциально может быть использован для создания эксплойта для выполнения произвольного кода на уровне ядра.

При указании в пакете идентификатора CID, отличного от L2CAP_CID_SIGNALING, L2CAP_CID_CONN_LESS и L2CAP_CID_LE_SIGNALING, в BlueZ вызывается обработчик 2cap_data_channel (), который для каналов в L2CAP_MODE_ERTM проверяет соответствие режимов, фильтр skip_CAPter и L2_CAPter. Для пакетов с CID L2CAP_CID_A2MP канал отсутствует, поэтому для его создания вызывается функция a2mp_channel_create (), которая использует тип «struct amp_mgr» при обработке поля данных chan->, но тип для этого поля должен быть «Struct носок".

Уязвимость появилась с момента выхода ядра Linux 4.8. И, несмотря на заявления Intel, в недавно выпущенной версии 5.9 он не был решен.

Мэтью Гарретт, известный разработчик ядра Linux, получивший награду от Free Software Foundation за свой вклад в разработку бесплатного программного обеспечения, утверждает, что информация в отчете Intel неверна и что ядро ​​5.9 не включает в себя надлежащие исправления. исправьте уязвимость, патчи были включены в ветку linux-next, а не в ветку 5.9).

Он также выразил возмущение политикой Intel по раскрытию уязвимостей: разработчики дистрибутивов Linux не были уведомлены о проблеме до выпуска отчета и не имели возможности предварительно экспортировать исправления для своих пакетов ядра.

Кроме того, по сообщениям, в BlueZ были обнаружены еще две уязвимости:

  • CVE-2020-24490 - переполнение буфера кода синтаксического анализа HCI (hci_event.c). Удаленный злоумышленник может добиться переполнения буфера и выполнения кода на уровне ядра Linux, отправив широковещательные объявления. Атака возможна только на устройствах, поддерживающих Bluetooth 5, когда на них активен режим сканирования.
  • CVE-2020-12352: потеря информации стека во время обработки пакета A2MP. Проблема может быть использована злоумышленником, который знает MAC-адрес устройства, для извлечения данных из стека ядра, которые потенциально могут содержать конфиденциальную информацию, такую ​​как ключи шифрования. Стек также может содержать указатели, поэтому проблему можно использовать для определения структуры памяти и обхода защиты KASLR (рандомизация адресов) в эксплойтах для других уязвимостей.

Наконец, была выпущена публикация прототипа эксплойта для проверки проблемы.

В дистрибутивах проблема остается не исправленной (Debian, RHEL (уязвимость подтверждена в версиях RHEL начиная с 7.4), SUSE, Ubuntu, Fedora).

Платформа Android не подвержена этой проблеме, поскольку она использует собственный стек Bluetooth, основанный на коде из проекта BlueDroid от Broadcom.

Если вы хотите узнать больше об этой уязвимости, вы можете ознакомиться с подробностями По следующей ссылке.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Aron сказал

    Борьба с уязвимостью никогда не закончится, это тема, которая всегда будет присутствовать. Каждый день хакеры будут искать новые способы проведения кибератак. Нет ничего идеального, всегда будет процент уязвимости. Поэтому каждый день мы должны продолжать борьбу с этими атаками.