The OpenNET Project / Index page

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

Уязвимость в подсистеме Linux-ядра USB Gadget, потенциально позволяющая выполнить код

16.12.2021 09:08

В USB Gadget, подсистеме ядра Linux, предоставляющей программный интерфейс для создания клиентских USB-устройств и программной симуляции USB-устройств, выявлена уязвимость (CVE-2021-39685), которая может привести к утечке информации из ядра, краху или выполнению произвольного кода на уровне ядра. Атака производится непривилегированным локальным пользователем через манипуляции с различными классами устройств, реализованными на базе API USB Gadget, такими, как rndis, hid, uac1, uac1_legacy и uac2.

Проблема устранена в опубликованных на днях обновлениях ядра Linux 5.15.8, 5.10.85, 5.4.165, 4.19.221, 4.14.258, 4.9.293 и 4.4.295. В дистрибутивах проблема пока остаётся неисправленной (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch). Для демонстрации уязвимости подготовлен прототип эксплоита.

Проблема вызвана переполнением буфера в обработчиках запросов на передачу данных в gadget-драйверах rndis, hid, uac1, uac1_legacy и uac2. В результате эксплуатации уязвимости непривилегированный атакующий может получить доступ к памяти ядра через отправку специального управляющего запроса со значением поля wLength, превышающим размер статического буфера, для которого всегда выделяется 4096 байт (USB_COMP_EP0_BUFSIZ). В ходе атаки можно из непривилегированного процесса в пространстве пользователя прочитать или записать до 65 КБ данных в память ядра.

 
  1. Главная ссылка к новости (https://www.openwall.com/lists...)
  2. OpenNews: Доступен USB Raw Gadget, Linux-модуль для эмуляции USB-устройств
  3. OpenNews: Методы отключения защиты Lockdown в Ubuntu для удалённого обхода UEFI Secure Boot
  4. OpenNews: 15 уязвимостей в USB-драйверах, поставляемых в ядре Linux
  5. OpenNews: Google представил блокировщик подстановки ввода через вредоносные USB-устройства
  6. OpenNews: Уязвимость во FreeBSD, эксплуатируемая через вредоносное USB-устройство
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/56357-linux
Ключевые слова: linux, usb, gadget
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (144) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 09:27, 16/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • –29 +/
    Да блин. Опять все из за Сей, с их буфферами ограниченного размера, создаваемыми на стеке. Сейчас 21-й век. Ну юзайте, блин, динамически выделяемые буфферы.
     

     ....большая нить свёрнута, показать (89)

  • 1.3, Аноним (3), 09:36, 16/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • –12 +/
    Пока ядро не переведут на более адекватные языки - оно так и будет рассадником дыр
     
     
  • 2.7, Аноним12345 (?), 09:48, 16/12/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +6 +/
    Я даже знаю, какой адекватный язык вы имеете ввиду
     
     
  • 3.30, Fracta1L (ok), 10:31, 16/12/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +5 +/
    Догадаться нетрудно
     
     
  • 4.59, Аноним (58), 12:01, 16/12/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Ты на нем попробуй напищи чего-нить... там что не действие то боль сплошная. А в сях ращбереться даже карапуз
     
     
  • 5.62, Fracta1L (ok), 12:44, 16/12/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –1 +/
    Ахахаха, это пять)
     
     
  • 6.151, Аноним (-), 08:36, 23/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Покажи свои проекты на расте, чудик? Ты вообще видел шоу с поддержкой раста в ядре? Там куда ни ткни, подпорки и костыли, в найтли уже почти работает, но у нас там косяк с архитектурой либы и рантайма вышел, мы работаем над этим!!!111

    А пакамест проапдейтите сборку окислов запуском неподписаного шелскриптика с хз какого сайта вот. Безопасность.

     
  • 5.68, Rev (?), 13:37, 16/12/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    Вот карапузы и ваяют эти уязвимости как раз :))
    Не смог разобраться в Расте - не лезь в ядро. Так должно быть.
     
     
  • 6.83, РастоманПитонофил (?), 15:38, 16/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +2 +/
    > Не смог разобраться в Расте - не лезь в ядро. Так должно быть.

    Не смог осилить элементарный C не лезь вообще никуда. Улицы убирай, срачь кругом.

     
     
  • 7.88, _ (??), 16:13, 16/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Не смог осилить элементарный C не лезь вообще никуда. Улицы убирай, срачь кругом.

    https://www.misra.org.uk/misra-c/
    https://wiki.sei.cmu.edu/confluence/display/c/SEI+CERT+C+Coding+Standard
    > SEI CERT C Coding Standard

    Спрячь смарт, перерыв окончен - еще две улицы не убраны.


     
  • 7.121, Fracta1L (ok), 09:09, 17/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Предлагаешь всем без исключения программистам на сишке пойти мести улицы? какая жестокость
     
     
  • 8.152, Аноним (-), 08:36, 23/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    А ядро тебе кто будет тогда патчить, чтобы ты тут мог умные коменты строчить ... текст свёрнут, показать
     
  • 4.115, искра (?), 04:08, 17/12/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    точно! этот язык — D
     
     
  • 5.122, Fracta1L (ok), 09:09, 17/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Кстати, интересный язык. Всё хочу на нём свой пакетный менеджер переписать.
     
     
  • 6.128, Sw00p aka Jerom (?), 12:05, 17/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    вот о чем я говорил, калькулятор вменяемый сначала напишите, а дальше хоть ядро :)
     
  • 6.153, Аноним (-), 08:37, 23/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Ты на нем хоть что-нибудь написать смог? Синтаксис у него больно уж... кислотненький :)
     
     
  • 7.154, Fracta1L (ok), 08:58, 23/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    В каком смысле? Там же вроде питоноподобный синтаксис?
     
  • 3.57, Урри (ok), 11:37, 16/12/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Да все знают.
    Нет ядра - нет дыр.
     
  • 2.9, Анонм (?), 09:53, 16/12/2021 [^] [^^] [^^^] [ответить]  [] []     [к модератору]
  • +4 +/
    На яваскрипт, что ли?
     
     
  • 3.14, Аноним (10), 10:05, 16/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • –4 +/
    пф хуже этой солянки даже не знаю что сыскать, разве что c++/golang/rust
     
     
  • 4.17, Брат Анон (ok), 10:06, 16/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +4 +/
    Что в этом списке делает golang? Тонны годного софта на нём. И не падает.
     
     
  • 5.34, Аноним (-), 10:45, 16/12/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –3 +/
    тонко, особенно про годный :D
     
     
  • 6.45, Брат Анон (ok), 11:10, 16/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +2 +/
    > тонко, особенно про годный :D

    В каждой шутке -- лишь доля шутки. Всё остальное правда.

     
     
  • 7.52, Аноним (-), 11:32, 16/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    > доля

    почти не падает растяжимое понятие, раз в час это тоже почти.

     
  • 7.87, Аноним (87), 16:03, 16/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    Главное заставить других верить в эту правду, да?
     
  • 5.47, AlexVRud (ok), 11:21, 16/12/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    - Тут 12309 опять вернулся.
    - Да врёте вы всё, это сборка мусора в ядре.
     
  • 2.26, lombock (?), 10:25, 16/12/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +2 +/
    проснись, соня, уже давно. почему не пользуешься? а дистриб почему не сделал?

    https://bellard.org/jslinux/
    https://retrage.github.io/lkl-js/

     
  • 2.27, Анонм (?), 10:27, 16/12/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +2 +/
    ЕСЛИ дыра_в_ядре РАВНО ЕСТЬ!
        НЦ
          ПЕЧАТЬ кавычка Обноружена дыра в ядре!!! кавычка
        КЦ
     
     
  • 3.136, vitalif (ok), 02:12, 18/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Будяк Д.В, перелогиньтесь
     
  • 2.29, lombock (?), 10:29, 16/12/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    какие адекватные?
     
     
  • 3.86, Аноним (87), 16:01, 16/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    C#, Java, Python или любой другой язык с управлением памятью
     
     
  • 4.91, Аноним (91), 18:27, 16/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    "Иди ты на фиг, прерываеие реального времени, у меня тут GC работает, не до тебя сейчас".
     
     
  • 5.92, _ (??), 18:55, 16/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >> RTSJ / Java RTS Sun
    > "Иди ты на фиг, прерываеие реального времени, у меня тут GC работает, не до тебя сейчас".

    И слышавшие звон/опоздавшие родиться - пусть идут туда же.


     
     
  • 6.96, Хероптерикс (?), 21:08, 16/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    Эвон чего откопали. Как у него с оверхэдом было? Как у обычной явы, я полагаю. С работой не внутри какого-нибудь Websphere, а прямо поверх железа, как и положено операционке? Точно так же. Хоть одно обновление за 15 лет? Тоже все плохо. Про аналоги для C# и (прастихоспади) питона даже спрашивать страшно.
     
     
  • 7.97, _ (??), 21:42, 16/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Эвон чего откопали. Как у него с оверхэдом было? Как у обычной

    Занятный спрыг с темы. Опеннетно-классический.
    > Про аналоги для C# и (прастихоспади) питона даже спрашивать страшно.

    Ну, запретить опеннетчикам писать глупости я не могу, так что ... крепитесь там!

     
     
  • 8.104, Аноним (91), 23:55, 16/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Т е по теме аргументов нет, кроме сам дурак Ок, ясно-понятно ... текст свёрнут, показать
     
     
  • 9.106, _ (??), 00:42, 17/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Т е ты сам шутсро спрыгнул с темы Иди ты на фиг, прерываеие реального времени,... текст свёрнут, показать
     
     
  • 10.111, Аноним (91), 01:42, 17/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Прерывания С 10x оверхедом С динамическим выделением памяти С кеш-промахами в... текст свёрнут, показать
     
     
  • 11.112, _ (??), 01:54, 17/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Memory Management Garbage-collected memory heaps have always been considered... текст свёрнут, показать
     
     
  • 12.113, Аноним (91), 02:10, 17/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Да, мне тоже пришлось это прочитать, когда вы упомянули RTSJ Да, они частично ... текст свёрнут, показать
     

  • 1.6, изнасилованжурналистом50летназад (?), 09:39, 16/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    >до 65 КБ

    т.е. до 64 КБ включительно, т е. просто 64 КБ, а не почему то 65 КБ?

     
     
  • 2.8, Аноним (8), 09:49, 16/12/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +6 +/
    Акция! 1 Кб в подарок!
     
     
  • 3.11, Аноним (1), 09:57, 16/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Ага. Это как во времена AT. Купи 640Кб, 65520 в подарок.
     
  • 2.46, Аноним (41), 11:18, 16/12/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Нет.
    До 65 КБ - это 64 КБ плюс 1023 байт (999 если СИ сильно жмет)
     
  • 2.71, Аноним (65), 14:01, 16/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    64 kiB ~ 65.5 kB
    киби - 2^10
    кило - 10^3
     
     
  • 3.80, Онаним (?), 15:01, 16/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Не ~65.5, а ровно 65.536
     

  • 1.21, InuYasha (??), 10:16, 16/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +3 +/
    Андроед рутануть даст? plug & pray
     
  • 1.22, Анонн (?), 10:18, 16/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +1 +/
    Ну подумаешь, выполнение произвольного кода при работе с юсб-устройством! Просто не пользуйтесь юсб, это все смузихлебство, lpt должно хватить всем! Но зато как быстро! И да, это все погромисты неправильные попались!
     
     
  • 2.35, Аноним (-), 10:47, 16/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Просто не пользуйтесь юсб, это все смузихлебство, lpt должно хватить всем!

    Ох еслиб, выпилили лптшки комерсы поганые

     
  • 2.42, Аноним (42), 11:07, 16/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Эта хреновина (USB Gadget) в обычных потребительских дистрибутивах
    не используеься, более того даже не присутствует в основных репах.
     

  • 1.28, Аноним (28), 10:28, 16/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • –5 +/
    ну вот сколько анонимы опеннета им будут повторять, что дырявая сишка их в могилу сведёт, столько они будут в могилу сводиться
     
     
  • 2.37, Аноним (-), 10:51, 16/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +3 +/
    так они и жили. дырявая сишка сводила всех в могилу, а потом уставшие, но довольные возвращались домой и пили чай с пряниками.
     

  • 1.60, User_o0 (?), 12:25, 16/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +1 +/
    Ох а сколько уязвимостей ещё не обнаружили...
     
  • 1.73, Аноним (73), 14:15, 16/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    Еще один бек-дор для СС (с служб) открыли. И их еще много остается!
     
     
  • 2.81, Аноним (81), 15:36, 16/12/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    ну да, ядро обновил со 190м бинарных вставок и вытер шок с лица
     

  • 1.99, Аноним (99), 22:19, 16/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    Webusb из хрома передаёт привет или он не подвержен?
     
  • 1.116, Аноним (116), 05:38, 17/12/2021 [ответить] [﹢﹢﹢] [ · · · ]      [к модератору]
  • +/
    >В дистрибутивах проблема пока остаётся неисправленной

    Ну, как обычно...

     

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



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

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