В APT обнаружена уязвимость, позволяющая заменить загружаемый пакет

вероятная уязвимость

Был идентифицирован уязвимость в диспетчере пакетов APT (CVE-2019-3462), какие позволяет злоумышленнику инициировать подделку установленного пакета имеет ли злоумышленник контроль над зеркалом репозитория или может нарушить транзитный трафик между пользователем и репозиторием (атака MITM).

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

Проблема Это связано с неправильной проверкой полей в коде обработки HTTP-редиректа.

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

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

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

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

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

Как определить проблему?

Суть проблемы в том, что обработчик транспорта HTTP, получив ответ от HTTP-сервера с заголовком «Местоположение:», он запрашивает подтверждение перенаправления от основного процесса.

Полностью переносим содержимое этого заголовка. Из-за недостаточной чистоты передаваемых специальных символов злоумышленник может указать разрыв строки в поле «Местоположение:».

Поскольку это значение будет декодировано и передано по каналу связи с основным процессом, злоумышленник может имитировать другой ответ обработчика транспорта HTTP и заменить фиктивный блок 201 URI.

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

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

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

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

Загрузка вредоносного пакета осуществляется путем прикрепления пакета к файлу Release.gpg во время передачи.

Этот файл имеет предсказуемое расположение в файловой системе, и прикрепление пакета к его запуску не влияет на извлечение цифровой подписи из репозитория.

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

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

Затем основной процесс отправит свою конфигурацию и запросит ресурс, а рабочий процесс ответит.

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


Оставьте свой комментарий

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

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.