Обнаружены уязвимости в Linux, которыми можно эксплуатировать через Bluetooth

уязвимость

При эксплуатации эти недостатки могут позволить злоумышленникам получить несанкционированный доступ к конфиденциальной информации или вообще вызвать проблемы.

Недавно в новостях сообщили, чтоВ ядре Linux были обнаружены две уязвимости. (уже занесен в каталог CVE-2022-42896), что потенциально может использоваться для организации удаленного выполнения кода на уровне ядра путем отправки специально созданного пакета L2CAP по Bluetooth.

Упоминается, что первая уязвимость (CVE-2022-42896) возникает при обращении к уже освобожденной области памяти (use-after-free) в реализации функций l2cap_connect и l2cap_le_connect_req.

Отказ использовано после создания канала через обратный вызов вызов новое_соединение, который не блокирует настройку для него, а устанавливает таймер (__set_chan_timer), после тайм-аута вызов функции l2cap_chan_timeout и чистка канала без проверки завершения работы с каналом в функциях l2cap_le_connect*.

Таймаут по умолчанию составляет 40 секунд и предполагалось, что состояние гонки не может возникнуть с такой большой задержкой, но оказалось, что из-за очередной ошибки в SMP-драйвере можно было мгновенно вызвать таймер и достичь состояния гонки.

Проблема в l2cap_le_connect_req может вызвать утечку памяти ядра, а в l2cap_connect вы можете перезаписать содержимое памяти и запустить свой код. Первый вариант атаки может осуществляться с использованием Bluetooth LE 4.0 (с 2009 г.), второй — с использованием Bluetooth BR/EDR 5.2 (с 2020 г.).

В функциях ядра Linux l2cap_connect и l2cap_le_connect_req net/bluetooth/l2cap_core.c есть пострелизные уязвимости, которые могут сделать возможным удаленное выполнение кода и утечку памяти ядра (соответственно) через Bluetooth. Удаленный злоумышленник может выполнить код, который приводит к утечке памяти ядра через Bluetooth, если он находится в непосредственной близости от жертвы. Мы рекомендуем обновить прошлый коммит https://www.google.com/url https://github.com/torvalds/linux/commit/711f8c3fb3db61897080468586b970c87c61d9e4.

Вторая уязвимость который был обнаружен (уже внесен в каталог CVE-2022-42895) вызвано остаточной утечкой памяти в функции l2cap_parse_conf_req, который можно использовать для удаленного получения информации об указателях на структуры ядра путем отправки специально созданных запросов конфигурации.

Об этой уязвимости упоминается, что в функции l2cap_parse_conf_req использовалась структура l2cap_conf_efs, для которых выделенная память ранее не была инициализирована, и через манипуляции с флагом FLAG_EFS_ENABLE, удалось добиться включения старых данных батареи в упаковке.

флаг канала FLAG_EFS_ENABLE вместо переменной remote_efs для решить, следует ли использовать структуру efs l2cap_conf_efs или нет, и можно установить флаг FLAG_EFS_ENABLE без фактической отправки данных конфигурации EFS и, в данном случае, неинициализированная структура efs l2cap_conf_efs будет отправлен обратно удаленному клиенту, что приведет к утечке информации о содержимое памяти ядра, включая указатели ядра.

Проблема возникает только в системах, где ядро он построен с опцией CONFIG_BT_HS (отключена по умолчанию, но включена в некоторых дистрибутивах, таких как Ubuntu). Для успешной атаки также необходимо установить параметр HCI_HS_ENABLED через интерфейс управления в значение true (по умолчанию он не используется).

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

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

Наконец, стоит упомянуть, что была выявлена ​​еще одна похожая проблема (CVE-2022-42895) в контроллере L2CAP что может привести к утечке содержимого памяти ядра в пакеты информации о конфигурации. Первая уязвимость проявляется с августа 2014 года (ядро 3.16), а вторая с октября 2011 года (ядро 3.0).

Те, кто заинтересован в отслеживании исправления в раздачах, могут сделать это на следующих страницах: DebianUbuntuGentooRHELSUSEFedoraАрка .


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

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

*

*

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