Виявлено вразливість у реалізації TIPC ядра Linux

Нещодавно новина про це заявила дослідник безпеки виявив критичну вразливість (вже перераховано під CVE-2021-43267) у реалізації мережевого протоколу TIPC постачається в ядрі Linux, що дозволяє віддалено виконувати код з привілеями ядра, надсилаючи спеціально створений мережевий пакет.

Небезпека проблеми пом'якшується тим, що атака вимагає явного включення підтримки TIPC в системі (шляхом завантаження та налаштування модуля ядра tipc.ko), що не робиться за замовчуванням у дистрибутивах, що не належать до Linux. specialized.

CodeQL — це механізм аналізу, який дозволяє виконувати запити до вашого коду. З точки зору безпеки, це може дозволити вам знайти вразливі місця, просто описуючи їх зовнішній вигляд. Потім CodeQL запуститься і знайде всі екземпляри цієї вразливості.

TIPC підтримується з ядра Linux 3.19, але код, що веде до вразливості, був включений до ядра 5.10.. Протокол TIPC спочатку був розроблений Ericsson, він призначений для організації міжпроцесного зв'язку в кластері і в основному активується на вузлах кластера.

TIPC може працювати як через Ethernet, так і через UDP (мережевий порт 6118). У разі роботи через Ethernet атака може здійснюватися з локальної мережі, а при використанні UDP — із глобальної мережі, якщо порт не перекритий брандмауером. Атаку також може здійснити локальний користувач без привілеїв на хості. Щоб увімкнути TIPC, ви повинні завантажити модуль ядра tipc.ko і налаштувати посилання на мережевий інтерфейс за допомогою netlink або утиліти tipc.

Протокол реалізовано в модулі ядра, що постачається з усіма основними дистрибутивами Linux. Коли його завантажує користувач, він може використовуватися як з’єднувач і може бути налаштований в інтерфейсі за допомогою netlink (або за допомогою інструменту простору користувача tipc, який здійснюватиме ці виклики мережі) як непривілейований користувач.

TIPC можна налаштувати на роботу через протокол-носик, такий як Ethernet або UDP (в останньому випадку ядро ​​прослуховує порт 6118 для вхідних повідомлень з будь-якої машини). Оскільки користувач з низькими привілеями не може створювати необроблені кадри Ethernet, установка носія на UDP полегшує написання локального експлойту.

Уразливість проявляється у функції tipc_crypto_key_rc і спричинена відсутністю належної перевірки відповідності між тим, що вказано в заголовку, і фактичним розміром даних під час аналізу пакетів типу MSG_CRYPTO, які використовуються для отримання ключів шифрування від інших вузлів кластера, щоб пізніше розшифрувати повідомлення, надіслані з цих вузлів.

Розмір даних, що копіюються в пам'ять, розраховується як різниця між значеннями полів з розміром повідомлення і розміром заголовка, але без урахування фактичного розміру назви переданого алгоритму шифрування. у повідомленні та зміст ключа.

Розмір назви алгоритму вважається фіксованим, а крім того, для ключа передається окремий атрибут з розміром, і зловмисник може вказати в цьому атрибуті значення, яке відрізняється від фактичного значення, що призведе до запису в черга повідомлення за межами виділеного буфера.

Уразливість виправлена ​​в ядрах 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, не зачіпаються.

В кінці кінців якщо вам цікаво дізнатись більше про це, Ви можете перевірити деталі У наступному посиланні.


Залиште свій коментар

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

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.