The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Уязвимости в ядре Linux, удалённо эксплуатируемые через Bluetooth

15.12.2022 11:46

В ядре Linux выявлена уязвимость (CVE-2022-42896), которая может потенциально использоваться для организации удалённого выполнения кода на уровне ядра через отправку специально оформленного L2CAP-пакета через Bluetooth. Кроме того, выявлена ещё одна похожая проблема (CVE-2022-42895) в обработчике L2CAP, которая может привести к утечке содержимого памяти ядра в пакетах со сведениями о конфигурации. Первая уязвимость проявляется с августа 2014 года (ядро 3.16), а вторая с октября 2011 года (ядро 3.0). Уязвимости устранены в выпусках ядра Linux 6.1.0, 6.0.8, 4.9.333, 4.14.299, 4.19.265, 5.4.224, 5.10.154 и 5.15.78. Проследить за исправлением в дистрибутивах можно на следующих страницах: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

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

Первая уязвимость (CVE-2022-42896) вызвана обращением к уже освобождённой области памяти (use-after-free) в реализации функций l2cap_connect и l2cap_le_connect_req - после создания канала через callback-вызов new_connection, для него не выставлялась блокировка, но настраивался таймер (__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 года).

Вторая уязвимость (CVE-2022-42895) вызвана утечкой остаточных данных из памяти в функции l2cap_parse_conf_req, что может быть использовано для удалённого получения сведений об указателях на структуры ядра через отправку специально оформленных запросов конфигурации. В функции l2cap_parse_conf_req использовалась структура l2cap_conf_efs, для которой не выполнялась предварительная инициализация выделенной памяти и через манипуляции с флагом FLAG_EFS_ENABLE можно было добиться включения в пакет старых данных из стека. Проблема проявляется только в системах, в которых ядро собрано с опцией CONFIG_BT_HS (по умолчанию отключена, но активирована в некоторых дистрибутивах, например, в Ubuntu). Для успешной атаки также требуется выставление параметра HCI_HS_ENABLED через управляющий интерфейс в значение true (по умолчанию не используется).

  1. Главная ссылка к новости (https://www.openwall.com/lists...)
  2. OpenNews: Уязвимость в Bluetooth-стеке BlueZ, позволяющая удалённо выполнить код с правами ядра Linux
  3. OpenNews: Уязвимость в Android, позволяющая удалённо выполнить код при включённом Bluetooth
  4. OpenNews: Уязвимости в Bluetooth-чипах TI, позволяющие удалённо выполнить код
  5. OpenNews: Уязвимость, компрометирующая шифрование в различных реализациях Bluetooth
  6. OpenNews: BlueBorne - опаснейшая удалённая уязвимость в Bluetooth-стеках Linux, Android, iOS и Windows
Лицензия: CC BY 3.0
Тип: Проблемы безопасности
Короткая ссылка: https://opennet.ru/58329-bluetooth
Ключевые слова: bluetooth, linux
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (56) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 12:23, 15/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    вот в 4.19 устранили, значит дебиан-9 все еще торт!
     
     
  • 2.5, Аноним (5), 12:29, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не торт.
    "Уязвимости устранены в выпусках ядра ... 4.19.265 ... 5.10.154 ..."

    buster 4.19.249-2 vulnerable
    buster (security) 4.19.260-1 vulnerable
    bullseye 5.10.140-1 vulnerable
    bullseye (security) 5.10.149-2 vulnerable

     

  • 1.10, birdie (ok), 12:37, 15/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +12 +/
    Интересно, Android is affected?

    Если да, то это громадная дырень, учитывая, что миллионы ходят с неподдерживаемыми уже устройствами.

     
     
  • 2.14, Аноним (14), 12:44, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Самые главное помнить что случайности не случайны.
     
     
  • 3.40, Аноним (40), 13:48, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Несите ваши денежки?
     
     
  • 4.63, Без аргументов (?), 15:08, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Дешевле купили -- то и получили
     
     
  • 5.83, Аноним (83), 17:36, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    проникся железной логикой анонима и побежал покупать верту
     
     
  • 6.87, X86 (ok), 18:57, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Нокиа же.
     
  • 2.15, Аноним (15), 12:44, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +13 +/
    На андроиде дыры прямо в железе, не беспокойся.
     
     
  • 3.18, Аноним (14), 12:48, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Прямо в головах пользователей.
     
  • 2.16, Аноним (16), 12:46, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Android provides a default Bluetooth stack, BlueDroid. Android also used BlueZ, until it switched to its own BlueDroid stack in late 2012
     
     
  • 3.82, Kuromi (ok), 17:10, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Задайтесь вопросом почему гугл так шустро заменил Блюз своим стеком?
     
     
  • 4.86, Аноним (16), 18:25, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > почему гугл так шустро заменил Блюз своим стеком?

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

     
  • 4.108, Аноним (108), 17:44, 18/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что блюз в то время начал переходить на dbus. А в андроиде dbus не используется...
     
  • 3.96, Аноним (96), 10:44, 16/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Какая разница, какой там юзерспейс стек, если уязвимость уровня ядра?
     
     
  • 4.101, Аноним (16), 13:40, 16/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Какая разница, какой там юзерспейс стек

    bluez это не только юзерспейс

    https://github.com/torvalds/linux/blob/2bca25eaeba6190efbfcb38ed169bd7ee43b5aa

     
  • 2.17, анон (?), 12:48, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Давно прилетел патч
     
     
  • 3.19, Аноним (14), 12:48, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Андроиды не обновляются лол.
     
     
  • 4.72, Степан (?), 15:23, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Как это не обновляются? У меня каждый месяц приходит security патч. Заявлено минимум 5 лет такой поддержки
     
     
  • 5.76, Аноним (76), 15:32, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >Заявлено минимум 5 лет такой поддержки

    ... и эти 5 лет уже прошли.

     

  • 1.20, Аноним (20), 12:57, 15/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Уязвимость уровня "никто не будет эксплуатировать"
     
     
  • 2.26, Аноним (14), 13:16, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Уязвимость уровня кто надо уже всех кого надо отэксплуатировал.
     

  • 1.33, Аноним (33), 13:29, 15/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Проблема проявляется только в системах,...
    (по умолчанию отключена, но активирована в некоторых дистрибутивах, например, в Ubuntu)

    Как мило. А можно список по подробнее? Linux - вечная лотерея, угадай где в следующий раз вылезет.

     
  • 1.46, ИмяХ (?), 14:06, 15/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А ведь благодаря открытому коду тысячи специалистов видели эту уязвимость, но никому не сообщали, а использовали в своих целях. Вот и веть после этого в безопасность линуксах.
     
     
  • 2.48, А (??), 14:11, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А вот мне кажется, что, судя по уровню юзабилити и глюкавости этой технологии, и пользователи и разработчики не заморачивались сделать что-то хорошее.

    Настолько оно работало глючно, тормозно и неудобно во все годы, на Огрызках тоже.

     
     
  • 3.57, псевдонимус (?), 15:02, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Да блювтуз это вечная проблема.

    Совершенно невменяемая сущность.

     
  • 3.102, Michael Shigorin (ok), 14:57, 17/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    "Чёрный Шнур надёжней, чем Красный Глаз и Синий Зуб" (ц) народная мудрость начала века

    PS: а ещё вспомнилась былина про WEP в Wi-Fi (причём как громко расшифровывали-то название этого "шифрования")...

     
  • 2.85, Вы забыли заполнить поле Name (?), 18:18, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Наконец-то в ядро добавили поддержку безопасного языка и теперь на нем можно писать безопасные драйвера. Но почему-то местные эксперты по безопасному языку по прежнему пишут только комментарии. Случайность? Не думаю.
     
     
  • 3.106, Michael Shigorin (ok), 15:13, 17/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Но заметьте, комментарии они пишут без unsafe -- по крайней мере явного,
     

  • 1.49, А (??), 14:13, 15/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > По умолчанию таймаут составляет 40 секунд и предполагалось что состояние гонки при такой задержке не может возникнуть

    ааааа... Не делать предположений ака фантазий ещё в школе учили.

     
     
  • 2.50, Аноним (50), 14:21, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Как замечательно что на опеннет так много экспертов-программистов высочайшей квалификации которые знают как правильно нужно писать программы.
     
     
  • 3.67, Аноним (15), 15:17, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Проблема в том, что опытные программисты излишне самоуверенные лалки и это всегда приводит к подобным проблемам. Если ты видишь что проблема может возникнуть, надо её явно обозначить, чтобы когда другие создадут проблему твоему коду, они были в курсе, что они её создают. Да и сам забудешь, о чём думал. Если что-то может случиться, оно случится. Но большинство просто не думает о сайд эффектах, да.
     
  • 2.56, Аноним (56), 14:51, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как доучишься до института - вам там расскажут, что предположение - основа теории. А пока отдыхай)
     
     
  • 3.62, Аноним (14), 15:08, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Забудьте всё чему вас учили в школе ©
     
  • 3.75, Аноним (76), 15:31, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Кто компенсирует моральный ущерб от изучения теорий, которые оказались ложными?
     
     
  • 4.104, Michael Shigorin (ok), 15:00, 17/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    С учётом принципа фальсифицируемости связываться с наукой, опасаясь вляпаться в ложное, не стоит изначально.

    Такой вот "парадокс", совершенно притом научный.

    Впрочем, многие про науку где-то там слышавшие не понимают даже этого...

     
  • 2.64, псевдонимус (?), 15:10, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    К счастью в школе в 90-х такой херне (не предсказывай того,  чего нибыло) не учили. Херня имеет ограниченное примирение в среде метеорологов. Но там можно. Правда можно.
     
     
  • 3.92, Аноним (92), 20:06, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Метеорологи предсказывают то чего не было?
     
     
  • 4.98, Аноним (98), 12:54, 16/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Погугли, что такое предсказания в науке. А лучше не гугли, так смешнее.
     
  • 3.93, Аноним (93), 21:03, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну конечно. Именно поэтому только наступив на грабли происходит исправление ошибок, и то не всегда.
    Абстрактное мышление вообще не про школы. Их задача учить долго и муторно чтобы у всех были кривые мозги.
    Теория вероятности это вообще в твоем случае слово на х.
    Поэтому когда ты садишься на трамвай по утрам это для тебя полная неожиданность.
    Как так? Почему трамвай пришел не вовремя, но пришел?!?!?!?!?!?!
     
  • 2.68, Аноним (68), 15:18, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Да уж, жуткий говнокод.
     

  • 1.74, Аноним (76), 15:29, 15/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Ну раз эксплоиты опубликовали, и у многих блондинок блютус не выключается, вангу... большой текст свёрнут, показать
     
     
  • 2.90, Аноним (90), 19:51, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Покупка опенсырья выходит ещё большим боком - потерей времени и малофункциональным устройством. Рыночек он умнее Штульмана.
     

  • 1.77, EuPhobos (ok), 15:57, 15/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Блютух - худший протокол.. Работает через задницу, занимает туже частоту что и Wi-Fi, постоянно с ним проблемы и частотного и софтварного характера.
     
     
  • 2.81, Kuromi (ok), 17:09, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Соглашусь отчасти - и правда, проблем с Блютухом мног и вечно там не все работает как надо, куча профилей которые реализует кто какие и как хочет. Тем не менее, конкретно на Линуксе изряднейший вклад в проблемы дает сам Bluez. Вот уж кусок коричневого! Вечно с ним глюки! Принять файл отправленный с телефона на Линуксе - это русская рулетка. Тупо не приходит и все. Вечные проблемы с блютус-аудио, то подключается то нет. По сути не помню ни одного профиля который нормлаьно работал бы. На казалось бы убогом Андроиде Блютусом пользовать неудобно, но он там работает стабильно. Дрова Widcomm на Виндоус работали отлично, все кроме Блютус принтинга, но это экзотика.
    У Блюза же что не релиз так багфиксы и все по прежнему не работает.
     
     
  • 3.88, Аноним (93), 19:01, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Зато блюпуп может использоваться для работы нестандартных фич, а у тебя там по-видимому драйверопроблемы были. Был бы ath9k чтобы большинство заморочек было выковыряно был бы повод бухтеть. А так "не сравнивал, но знаю что BlueZ виноват" тут каждый школьник заявить может.
     
     
  • 4.109, Аноним (108), 18:02, 18/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Это аксиома всем очевидная элементарная вещь , доказательств как бы и не требуе... большой текст свёрнут, показать
     
  • 3.105, Michael Shigorin (ok), 15:12, 17/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Жаль, что нокиевский Affix не приняли...
     

  • 1.80, Kuromi (ok), 17:05, 15/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Вот поэтому Блютух следует включать только по мере необходимости.
     
     
  • 2.89, Аноним (93), 19:02, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это актуально тольуюко длч дальнобойных новых версий, а когда там дистанция 10 метров действия без препятствий это называется паранойя.
     
  • 2.91, Аноним (90), 19:53, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Лень туда-сюда тыкать, пусть работает, жрёт он всё равно копейки.
     
     
  • 3.94, Аноним (94), 21:54, 15/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Копейка рубль бережёт
     
     
  • 4.99, Аноним (98), 12:57, 16/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не, это неудобно. Пущай ломают и воруют сохранённые картинки из мемных пабликов, переживу.
     

  • 1.95, Аноним (95), 08:03, 16/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    О. а где те люди кричали что FreeBSD плохая из-за пинга?
    А тут вот тоже по сути - только l2 ping и бах.. даже не надо заставлять админа пинговать кривой хост.
     
     
  • 2.100, Аноним (98), 12:59, 16/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Люди здесь. Фрибсд плохая не из-за пинга, а в том числе из-за него.
     

  • 1.110, Аноним123 (?), 10:52, 19/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Rust уже впили. Теперь надо подождать 10 лет, когда весь С код перепишут.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2023 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру