Вони виявили вразливість у підсистемі eBPF Linux

Нещодавно новина про це заявила була виявлена ​​вразливість (CVE-2021-29154) у підсистемі eBPF, яка сДозволяє запускати контролери трасування, аналізу підсистем та керування трафіком працює всередині ядра Linux у спеціальній віртуальній машині JIT, яка дозволяє локальному користувачеві запускати ваш код на рівні ядра.

За словами дослідників, які виявили вразливість, вони змогли розробити діючий прототип експлоїту для 86-розрядних та 32-розрядних систем x64, якими може користуватися непривілейований користувач.

Водночас Red Hat зазначає, що ступінь серйозності проблеми залежить від доступності системного дзвінка eBPF. для користувача. Наприклад, у RHEL та більшості інших дистрибутивів Linux за замовчуванням вразливість може бути використана, коли ввімкнено BPF JIT і користувач має права CAP_SYS_ADMIN.

У ядрі Linux виявлено проблему, якою вони можуть зловживати
непривілейованих місцевих користувачів, щоб ескалацію привілеїв.

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

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

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

Слід зазначити, що Це не єдина вразливість у підсистемі eBPF, яка стала відома за останні роки, оскільки наприкінці березня в ядрі було виявлено ще дві вразливості (CVE-2020-27170, CVE-2020-27171), які забезпечують можливість використання eBPF, щоб мати можливість обійти захист від вразливостей класу Spectre, які дозволяють визначати вміст пам'яті ядра і що призводить до створення умов для спекулятивного виконання певних операцій.

Для атаки Spectre потрібна наявність певної послідовності команд у привілейованому коді, що призводить до спекулятивного виконання інструкцій. У eBPF було знайдено кілька шляхів генерувати такі інструкції за допомогою маніпуляцій з програмами БНФ, переданими для їх виконання.

  • Уразливість CVE-2020-27170 спричинена маніпуляціями з вказівниками в засобі перевірки BPF, що змушує спекулятивні операції отримувати доступ до області за межами буфера.
  • Уразливість CVE-2020-27171 пов'язана з цілочисельною помилкою недоливу при роботі з покажчиками, що призводить до спекулятивного доступу до даних, що не входять в буфер.

Ці проблеми вже були виправлені у версіях ядра 5.11.8, 5.10.25, 5.4.107, 4.19.182 та 4.14.227 і були включені в оновлення ядра для більшості дистрибутивів Linux. Дослідники підготували експлойт-прототип, який дозволяє непривілейованому користувачеві отримувати дані з пам'яті ядра.

Щодо одного з рішень, що запропоноване в Red Hat:

Пом'якшення:

Ця проблема не впливає на більшість систем за замовчуванням. Адміністратор повинен був би дозволити впливати на BPF JIT.

Його можна відразу відключити за допомогою команди:

# echo 0 > /proc/sys/net/core/bpf_jit_enable

Або його можна відключити для всіх наступних завантажень системи, встановивши значення в /etc/sysctl.d/44-bpf -jit-disable

## start file ##
net.core.bpf_jit_enable=0</em>
end file ##

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

Варто зазначити, що проблема зберігається до версії 5.11.12 (включно) і досі не вирішена в більшості дистрибутивів, хоча виправлення вже існує. доступний як патч.


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

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

*

*

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