The OpenNET Project / Index page

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

Удалённая уязвимость в реализации протокола TIPC в ядре Linux

05.11.2021 10:45

В поставляемой в ядре Linux реализации сетевого протокола TIPC (Transparent Inter-process Communication) выявлена критическая уязвимость (CVE-2021-43267), позволяющая удалённо через отправку специально оформленного сетевого пакета добиться выполнения своего кода с привилегиями ядра. Опасность проблемы сглаживает то, что для атаки требуется явное включение поддержки TIPC в системе (загрузка и настройка модуля ядра tipc.ko), которая в неспециализированных дистрибутивах Linux не производится по умолчанию.

Протокол TIPC поддерживается начиная с ядра Linux 3.19, но приводящий к уязвимости код был включён в состав ядра 5.10. Уязвимость устранена ядрах 5.15.0, 5.10.77 и 5.14.16. Проблема проявляется и пока не устранена в Debian 11, Ubuntu 21.04/21.10, SUSE (в ещё не выпущенной ветке SLE15-SP4), RHEL (пока не детализируется было ли бэкпортировано уязвимое исправление) и Fedora. Обновление ядра уже выпущено для Arch Linux. Дистрибутивы с ядром старше 5.10, такие как Debian 10 и Ubuntu 20.04, проблеме не подвержены.

Протокол TIPC изначально разработан компанией Ericsson, предназначен для организации межпроцессного взаимодействия в кластере и активируется главным образом на узлах кластеров. TIPC может работать как поверх Ethernet, так и поверх UDP (сетевой порт 6118). В случае работы поверх Ethernet атака может быть совершена из локальной сети, а при использовании UDP - из глобальной сети, если порт не прикрыт межсетевым экраном. Атака также может быть совершена непривилегированным локальным пользователем хоста. Для активации TIPC необходима загрузка модуля ядра tipc.ko и настройка привязки к сетевому интерфейсу при помощи netlink или утилиты tipc.

Уязвимость проявляется в функции tipc_crypto_key_rc и вызвана отсутствием должной проверки соответствия указанного в заголовке и фактического размера данных при разборе пакетов с типом MSG_CRYPTO, используемых для получения ключей шифрования от других узлов в кластере с целью последующей расшифровки сообщений, отправляемых с этих узлов. Размер копируемых в память данных вычисляется как разность значений полей с размером сообщения и размером заголовка, но без учёта фактического размера передаваемого в сообщении названия алгоритма шифрования и содержимого ключа. Подразумевается, что размер названия алгоритма фиксирован, а для ключа дополнительно передаётся отдельный атрибут с размером, и атакующий может указать в этом атрибуте значение, отличающееся от фактического, что приведёт к записи хвоста сообщения за пределы выделенного буфера.


   struct tipc_aead_key {
	char alg_name[TIPC_AEAD_ALG_NAME];
	unsigned int keylen; 	/* in bytes */
	char key[];
   };


  1. Главная ссылка к новости (https://www.sentinelone.com/la...)
  2. OpenNews: Опасная удалённая уязвимость в ядре Linux
  3. OpenNews: Уязвимость в Bluetooth-стеке BlueZ, позволяющая удалённо выполнить код с правами ядра Linux
  4. OpenNews: Уязвимость в подсистеме ядра Linux Netfilter
  5. OpenNews: Уязвимость в подсистеме io_uring ядра Linux, позволяющая поднять свои привилегии
  6. OpenNews: Раскрыта техника эксплуатации уязвимости в tty-подсистеме ядра Linux
Лицензия: CC BY 3.0
Наводку на новость прислал Artem S. Tashkinov
Короткая ссылка: https://opennet.ru/56101-tipc
Ключевые слова: tipc, kernel
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (49) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 10:55, 05/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Attack surface маленькая, можно не беспокоиться.
     
  • 1.2, Аноним (2), 10:55, 05/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Лучше 2.6 версии нет.
     
     
  • 2.3, Аноним (3), 11:09, 05/11/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Потому что именно там был ярковыраженный 12309 и плохая реализация многопоточности, ставившая всю систему раком при сборке софта. Вспомнил - аж прослезился. Сейчас такие же заскоки можно узреть только во FreeBSD, склонировав большой проект, например, получив вставшую на 5 минут систему. А ведь когда-то это же самое было и в линуксе.
     
     
  • 3.6, bsd user (?), 11:32, 05/11/2021 [^] [^^] [^^^] [ответить]  
  • –7 +/
    не гони на бзд линуксойд - не гоним будешь за свой сетевой стек и его производительность. лучше дружно жить
     
  • 3.8, Ivan_83 (ok), 11:32, 05/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У меня таких проблем на фре, хотя у меня много чего не дофолтного в сисцтл.
     
  • 3.9, barmaglot (??), 11:49, 05/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Аха ... 12309 уже пофиксили ... конечно-же ... RHEL 7  на 12309 раком встаёт. Про 8-ку не знаю. На Gentoo уже лет 5 12309 не встречал ...
     
     
  • 4.70, Jh (?), 13:11, 06/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ага. Я в генту избавился от этого только поставив 32 гига памяти и выделив в ней диск для временных файлов
     
  • 3.10, Zenitur (ok), 11:52, 05/11/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Появился вместе с планировщиком CFS, который был экспериментально доступен, если... большой текст свёрнут, показать
     
     
  • 4.49, Аноним (49), 20:01, 05/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Если случится так, что оперативная память закончилась, то всё фризит и ничего сделать невозможно. Даже залогиниться по Ctrl-Alt-F1, потому что "превышено время для ввода пароля".

    Вот такая грусть печаль. И бы недоумевал, если б сам не встречался с этим. В разных дистрах. До сих держу "под рукой" magic key, запускающий OOM. Потому что иначе всё колом. До сих пор. Я фиг знает, как такой трындец добрался в эти годы. Но он есть. У меня, тащем-то, два варианты: включённый magic SysRq, и/или отключённый overcommit. Но про overcommit отдельная история, без него нихрена не работает даже на 16Gb+.

     
     
  • 5.50, Аноним (49), 20:05, 05/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    P.S. За что, в том числе, фря и любима. Ни разу такой фигни не было. Но фря любит, чтобы пользователь был advanced и таки хоть немного разбирался в системе, а не "мне только стим запустить, мне пох, как оно там работает", и отвечает пользователю взаимностью. Когда после неё встретил такое на разных Линуксах, вообще не мог понять "да как же так?". Но под фрей меньше проприетарщины, которую начали делать под Линуксы, нет б-гмерзкого docker'а. И таки приходится грызть, плакать, но продолжать.
     
     
  • 6.75, Аноним (75), 18:02, 06/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Ни разу такой фигни не было. Но фря любит, чтобы пользователь был advanced

    И памяти было не меньше, чем требуется запущенному софту. Иначе будет как в линуксе.

     
     
  • 7.78, Аноним (78), 19:38, 06/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Если случится так, что оперативная память закончилась, то всё фризит и ничего сделать невозможно.
    > И памяти было не меньше, чем требуется запущенному софту. Иначе будет как в линуксе.

    В рассказах опеннетчиков "В бздах наверняка все тоже самое что и в линуксе, только еще хуже! Том 119, дополненное издание" - несомненно.
    В реальности, если выставить vm.pageout_oom_seq=4, то запуск и отработка OOM вполне можно заметить лишь постфактум "О, а куда делось жирно-брауз^W приложение?".

     
  • 6.79, Crazy Alex (ok), 17:35, 07/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Фря - считай, целиком проприетарщина со своей лицензией. О "богомерзкий докер" - это вообще пять, как будто его под дулом пистолета заставляют использовать.

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

    12309 не ловил уже хз сколько лет. Гента.

     
     
  • 7.82, Аноним (82), 14:32, 08/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > как будто его под дулом пистолета заставляют использовать

    Вы не поверите...
    Да а как вы предлагаете его не использоваться, если он то тут, то там? Если он в каждой второй, мягко, говоря, конторе, которая занимается софтом. А уже если вебдев затронуть, то там докеры-на-кубернетесах-и-проч и докерами погоняют.

    Т.е. вроде бы может и не хочется, а таки прийдётся.

     
  • 6.90, nuclight (??), 23:33, 13/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > нет б-гмерзкого docker'а

    так это ж наоборот хорошо! Но для любителей кактусов хипсторы запилили аж несколько аналогов на джейлах

     
  • 5.67, кек (?), 21:19, 05/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ты не понимаешь, это не баг, а фича, я вон как-то поставил себе Федорку 30, так эту фичу прям на старте мне сразу Gnome3 подарил, "а нех - сказал он мне, "со своими 4Gib ставить элитную ОСь"". Вот так Линукс и подстёгивает людей к саморазвитию, не то что десяточка, ей и 4Gib хватало, ну никакого к тебе уважения.
     
     
  • 6.86, Онаним (?), 19:46, 11/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В десяточке на 4гигах никакой 12309 не нужен, он там перманентный.
     
     
  • 7.88, кек (?), 15:25, 20/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А он про это знает? Нет друг, когда я использовал десяточку (неделю), то не встречал товарища, слава богу Хфедора нам организовала встречу, прям сразу.
     
     
  • 8.89, Онаним (?), 23:19, 20/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Винда тормозит - притча во языцех ещё до 12309 А причина всё та же, когда оно... текст свёрнут, показать
     
  • 3.12, Аноним (-), 13:12, 05/11/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Сейчас такие же заскоки можно узреть только во FreeBSD, склонировав большой проект,
    > например, получив вставшую на 5 минут систему.

    А ссылка на багрепорт или хотя бы подробное описание по воспроизведению будет?
    Или "как обычно"?

     
     
  • 4.25, Аноним (75), 14:05, 05/11/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    "Склонировать большой проект" - уж куда как подробное.
    Ну и не баг это, а нормальное поведение. Если систему нагрузить, то она будет тормозить. В линуксе это называется 12309, во фре пользователи - не белки-иcтерички, и не устраивают шум из-за вполне корректного поведения системы.
     
     
  • 5.27, Аноним (27), 14:34, 05/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > "Склонировать большой проект" - уж куда как подробное.

    Яснопонятно.

    >> получив вставшую на 5 минут систему
    > Ну и не баг это, а нормальное поведение.
    > ... во фре пользователи не белки-иcтерички, и не устраивают шум из-за вполне корректного поведения системы.

    Особенно при существовании "поведения" ислкючительно в комментах опеннета.

     
  • 5.80, Sem (??), 19:14, 07/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Бред. Я chromium клонировал без проблем. Куда еще больше?
     
  • 3.13, Аноним (13), 13:20, 05/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ярковыраженный 12309 и в 5.15.0 есть с маслом вместо фс даже без свопа.
     
     
  • 4.40, n00by (ok), 17:44, 05/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Без указания дистрибутива выглядит как наброс.
     
  • 4.72, кек (?), 14:43, 06/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Да причём тут своп? Подкачка необходима всегда и везде, а 12309 это проблема наплевательского отношения самого Линуса к багу, мол совокупность и труднорешимость, "да и пошли вы все найух, я не за это зарплату в IBM получаю!".
     
  • 3.18, пох. (?), 13:33, 05/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Потому что именно там был ярковыраженный 12309

    до 2.6.18 включительно - не был. А остальное и незачем.

    > и плохая реализация многопоточности

    то есть ненужного ненужно понатащеного из винды.

     
     
  • 4.41, данунах (?), 17:51, 05/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Уже качаю Убунту 7.04
     
     
  • 5.81, пох. (?), 22:43, 07/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    там ушлепские ведра из под васянов-неосиляторов.

    Если что - могу тебе подарить полный комплект 6.какой-то. С всеми power64 и так далее.
    Там как надо ведро (в смысле таких же васянов-неосиляторов, но без 12309)

    Убунта очень долго не могла нанять хотя бы одного чувака, способного хотя бы тривиальные копипасты из lkml делать, не то что понимать зачем.

     

  • 1.4, InuYasha (??), 11:18, 05/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    > Протокол TIPC изначально разработан компанией Ericsson

    А модуль - ими же?
    Так, интересный небэкдор просто...

     
     
  • 2.7, Ivan_83 (ok), 11:32, 05/11/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Это же эриксон, они под АНБ дырки делают.
    А потом опсосы по всему миру покупают это за много денег и ставят себе.
     
     
  • 3.17, Аноним (17), 13:32, 05/11/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Как и циска когда-то коммутаторы в Иран поставила...
     
  • 3.87, Demo (??), 10:42, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Так это опсосы тупые, или Эрикссон умный?
     

  • 1.5, кодер на C 2003 (?), 11:28, 05/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    никогда такого не было - и вот опять :-(
     
  • 1.14, Аноним (14), 13:24, 05/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Опять с памятью накосячили. Ну как же так!
    Надо же было просто взять и написать хорошо, а не вот это все!
     
     
  • 2.20, Аноним (17), 13:36, 05/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Подразумевается, что размер названия алгоритма фиксирован...

    Это из той же оперы, когда придумывали gets: "Подразумевалось, что юзер не введёт символов больше, чем размер буфера".

     
     
  • 3.46, Аноним (14), 19:22, 05/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты что, "джентельменам верят на слово", негоже проверять входные данные, на это же тратятся ценные тики процессора!
     

  • 1.15, пох. (?), 13:30, 05/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Когда не знал ни о каком очередном ненужно протоколе, а оно - опять с дырой. Кто бы мог подумать да и было ли ему - чем.

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

     
     
  • 2.21, Аноним (17), 13:38, 05/11/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Кто бы мог подумать да и было ли ему - чем.

    ...разработан компанией Ericsson.

     
     
  • 3.22, пох. (?), 13:42, 05/11/2021 [^] [^^] [^^^] [ответить]  
  • –6 +/
    точно. кругом враги.

    Не вылезай из под кровати!

     

  • 1.23, Какаянахренразница (ok), 13:47, 05/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Уязвимости в ядре становятся обыденностью. Чтобы читатель не заснул на третьей строчке, напишите, например, какой изощрённой казни подвергли того, кто накодил эту уязвимость. "Линус карает животворящим перстом презренного ментейнера, осквернившего..." ну и т.д.
     
     
  • 2.30, Аноним (30), 15:26, 05/11/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Уязвимости в ядре становятся обыденностью

    А вот нефик компилировать в ядро всякую всячину от всяких эриксонов и Ко.

     

  • 1.39, bOOster (ok), 17:37, 05/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А в BHYVE? Есть?
     
  • 1.54, Гость (??), 20:29, 05/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Удивительно, необычно, для 34 федоры зачем то решили собрать старое ядро (5.12.19-302.fc34) с исправлением:
    https://koji.fedoraproject.org/koji/buildinfo?buildID=1852591

     
     
  • 2.71, Аноним (71), 13:44, 06/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Justin обкурился походу.

    Это ядро уже 100 лет как не поддерживается.

     

  • 1.68, Ковидл атеист (?), 00:34, 06/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сглаженное линукс ядро не подвержено уязвимостям.
    Чтобы открыть уязвимость, необходимость сперва устранить сглаженность - активировать какую-нибудь специфическую настройку или запустить ненужный модуль ядра.
     
     
  • 2.84, Аноним (84), 15:47, 08/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    прикладная топология? сглаженный рефлексный линуксоид в вакууме (никакой неопределенности, осиянная выверенность) с автономным парсером (пересоздается на ресете), процессором (горячо заменяется на безопасный прямо с завода), драйверами (выбранными из сотен, предоставляемых вендорами от щедрот).
     

  • 1.73, Аноним12345 (?), 16:15, 06/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ужас
     
  • 1.85, Buba (??), 09:39, 09/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Если модуль не загружен - уязвимость митигирована?
     

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



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

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