Dirty Pipe, одна з найсерйозніших уразливостей за останні роки в Linux

Нещодавно в мережі з'явилася новина про знахідку нова вразливість у Linux яка вказана як "Високий рівень серйозності", який впливає на всі ядра, починаючи з версії 5.8, а також похідні, в тому числі Android.

Відомий як Dirty Pipe дозволяє перезаписувати дані у файли лише для читання і може призвести до ескалації привілеїв шляхом введення коду в «кореневі» процеси.

Хоча вона вже була виправлена ​​в основне ядро ​​Linux, помилка може бути використана у вигляді експлойту підвищення привілеїв на всіх пристроях з ядром Linux версії 5.8 або новішої.

Це також означає, що купа нещодавно випущених смартфонів Android, таких як Samsung Galaxy S22 і Google Pixel 6, також є вразливими, доки кожен пристрій не отримає відповідний патч ядра від відповідного OEM.

Про Dirty Pipe

Уразливість була Про це заявив дослідник безпеки Макс Келлерман і внесений у каталог (CVE-2022-0847), знадобилося кілька місяців, щоб знайти експлойт для підтвердження концепції.

Уразливість дозволяє непривілейованому користувачеві вводити та перезаписувати дані у файли лише для читання, включаючи процеси SUID, запущені від імені root. Розмовне прізвисько, схоже, є грою сумнозвісного жука Брудна корова і механізм Linux, який називається конвеєром для міжпроцесної передачі повідомлень, оскільки останній використовується під час процедури експлойту.

Все почалося рік тому з заявки в службу підтримки, пов’язаної з пошкодженими файлами. Клієнт скаржився, що завантажені журнали доступу не можуть бути розпаковані. І справді, на одному з серверів журналів був пошкоджений файл журналу; його можна було розпакувати, але gzip повідомив про помилку CRC. Я не міг пояснити, чому він пошкоджений, але я припустив, що нічний процес розділення зазнав збою і створив пошкоджений файл. Я вручну виправив CRC файлу, закрив квиток і незабаром забув про проблему.

Після місяців аналізу, врешті-решт дослідник виявив, що пошкоджені файли клієнта були наслідком помилки в ядрі Linux. Він знайшов спосіб використати Dirty Pipe, щоб дозволити будь-кому, хто має обліковий запис, включаючи менш привілейовані облікові записи «нікого», додавати ключ SSH до облікового запису користувача root.

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

Щоб використати цю вразливість, ви повинні: створити канал, заповнити трубу довільними даними (встановивши прапор PIPE_BUF_FLAG_CAN_MERGE для всіх записів у кільці), очистити трубу (залишивши прапорець встановленим на всіх екземплярах структури pipe_buffer у структурі кільця pipe_inode_info), об’єднайте дані з цільового файлу (відкривається за допомогою O_RDONLY) у канал безпосередньо перед цільовим зміщенням і запишіть довільні дані в канал.

Dirty Pipe також впливає на будь-яку версію Android, засновану на одній з уразливих версій ядра Linux. Оскільки Android настільки фрагментований, моделі пристроїв, які постраждали, не можна відстежувати однаково.

За словами Келлермана, Минулого місяця Google об’єднав виправлення помилок із ядром Android, відразу після того, як це було виправлено з випуском версій ядра Linux 5.16.11, 5.15.25 і 5.10.102.

Сказавши це, нам, ймовірно, доведеться трохи почекати, перш ніж OEM-виробники почнуть випускати оновлення Android, що містять виправлення. Наприклад, Pixel 6 від Google все ще є вразливим, але досвідчені користувачі можуть усунути недолік, встановивши спеціальне виправлене ядро ​​післяпродажного обслуговування як альтернативний варіант.

Розробники ядра Linux випустили виправлення (5.16.11, 5.15.25, 5.10.102) 23 лютого, а Google виправив ядро ​​Android 24 лютого. Келлерманн та інші експерти порівнювали вразливість з CVE-2016-5195 «Брудна корова» і вони сказали, що це ще легше експлуатувати.

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


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

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

*

*

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