В APT виявлено уразливість, яка дозволяє замінити завантажуваний пакет

вразлива вразливість

Встановлено уразливість в менеджері пакетів APT (CVE-2019-3462), що дозволяє зловмиснику ініціювати підробку встановленого пакету чи зловмисник контролює дзеркало сховища чи може порушити транзитний трафік між користувачем та сховищем (атака MITM).

Проблему виявив дослідник безпеки Макс Юстич, відомий виявленням вразливостей у менеджері пакетів APK (Alpine) та у сховищах Packagist, NPM та RubyGems.

Проблема Це відбувається через неправильну перевірку полів у коді обробки перенаправлення HTTP.

В чому проблема?

Ця вразливість дозволяє зловмисникові замінити власний вміст у даних, переданих у сеансі HTTP (Debian та Ubuntu використовують HTTP, а не HTTPS для доступу до сховища, припускаючи, що цифрового підпису достатньо для відповідних метаданих та розміру пакета.)

Виявлена ​​вразливість дозволяє владі зловмисника замінити переданий пакет, після чого APT сприйме його як отриманий із офіційного дзеркала і розпочне процес встановлення.

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

Для завантаження даних зі сховища APT запускає дочірній процес із реалізацією певного транспорту та організовує взаємодію з цим процесом за допомогою простого текстового протоколу з поділом команд на порожній рядок.

Як виявити проблему?

Суть проблеми полягає в тому, що обробник транспорту HTTP, отримавши відповідь від сервера HTTP із заголовком "Розташування:", він вимагає підтвердження перенаправлення від основного процесу.

Повністю передано вміст цього заголовка. Через відсутність чистоти переданих спеціальних символів зловмисник може вказати розрив рядка в полі "Розташування:"

Оскільки це значення буде декодуватися і передаватися через канал зв'язку з основним процесом, зловмисник може імітувати різну відповідь обробника транспорту HTTP і замінити фіктивний блок URI 201.

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

Обробляється хеш для завантажених файлів, і основний процес просто перевіряє ці дані хешами з бази даних підписаних пакетів.

Серед метаданих зловмисник може вказати будь-яке значення тестових хешів, пов’язаних у базі даних із фактично підписаними пакетами, але насправді це не відповідає хешам переданого файлу.

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

Завантаження шкідливого пакета здійснюється шляхом приєднання пакету до файлу Release.gpg під час передачі.

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

Отримуючи дані, apt відключає робочі процеси, які спеціалізуються на різних протоколах, які будуть використовуватися для передачі даних.

Потім основний процес спілкується з цими працівниками за допомогою stdin / stdout, щоб повідомити, що завантажувати і куди помістити його у файлову систему за допомогою протоколу, який схожий на HTTP.

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

Коли HTTP-сервер відповідає переспрямуванням, робочий процес повертає переадресацію 103 замість 201 URI Done, і основний процес використовує цю відповідь, щоб зрозуміти, який ресурс потрібно запитувати далі.


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

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

*

*

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