Новости и события » Hi-Tech » Уязвимость в пакетном менеджере APT, позволяющая подменить загружаемый пакет

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

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

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

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

Для загрузки данных APT запускается дочерний процесс с реализацией конкретного транспорта и организует взаимодействие с этим процессом при помощи простого текстового проткола с разделением команд пустой строкой. Суть проблемы в том, что обработчик транспорта HTTP при получении от HTTP-сервера ответа с заголовком "Location:" запрашивает у родительского процесса подтверждение редиректа, целиком передавая содержимое этого заголовка. Из-за отсутствия чистки передаваемых спецсимволов, атакующий может указать в поле "Location:" значения, содержащие перевод строки (напрмер, "Location: /payload%0A%0A201%20URI%20Done...").

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

Например, атакующий при запросе пакета cowsay_3.03+dfsg2-3_all.deb подставляет ответ с "Location: /payload%0A%0A201%20URI%20Done%0AURI%3A%20http%3A//deb.debian.org....", который приводит к передаче родительскому процессу блока данных: 103 Redirect URI: http://deb.debian.org/debian/pool/main/c/cowsay/cowsay_3.03+dfsg2-3_all.deb New-URI: http://deb.debian.org/payload 201 URI Done URI: http://deb.debian.org/payload Filename: /var/lib/apt/lists/deb.debian.org_debian_dists_stretch_Release.gpg Size: 20070 Last-Modified: Tue, 07 Mar 2017 00:29:01 +0000 MD5-Hash: 27967ddb76b2c394a0714480b7072ab3 MD5Sum-Hash: 27967ddb76b2c394a0714480b7072ab3 SHA256-Hash: 858d5116a60ba2acef9f30e08c057ab18b1bd6df5ca61c233b6b7492fbf6b831 Checksum-FileSize-Hash: 20070

в котором все данные после строки "New-URI: http://deb.debian.org/payload" были закодированы в переданным злоумышленником ответе "Location:...".

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

Уязвимость устранена выпуске APT 1.4.9, а также в обновлениях пакетов в Ubuntu и стабильных ветках Debian (Jessie и Stretch), но в экспериментальных ветках Debian пока остается неисправленной. Если имеется опасность проведения целевых MITM-атак в качестве обходного пути защиты можно при выполнении операций с apt/apt-get явно отключать поддержку редиректов (например, "apt -o Acquire::http::AllowRedirect=false update"). Подобное отключение может привести к нарушению работы автоматического проброса на ближайшее зеркало, поэтому в sources.list следует заменить security.debian.org на конкретное зеркало (например, cdn-fastly.deb.debian.org).


Как арендовать автомобиль в Дубае - полное руководство от RosCar.ae

Как арендовать автомобиль в Дубае - полное руководство от RosCar.ae

Аренда автомобиля в Дубае - отличный способ исследовать город в своем собственном темпе. Независимо от того, приехали вы в Дубай по делам или на отдых, наличие автомобиля в вашем распоряжении обеспечивает свободу и удобство. В RosCar мы предлагаем широкий...

сегодня 13:45
  • Доставка из Германии в Украину с сервисом Meest Shopping

    Доставка из Германии в Украину с сервисом Meest Shopping

    Зарубежный интернет-магазин – это площадка, где можно найти широкий ассортимент качественных и недорогих товаров от известных производителей. Доставка из...

    29 августа 2024
  • Тротуарная плитка: свойства, виды и преимущества

    Тротуарная плитка: свойства, виды и преимущества

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

    4 июля 2024
  • Где лечить зубы в Харькове

    Где лечить зубы в Харькове

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

    24 мая 2024
  • Перевод письменного текста

    Перевод письменного текста

    Перевод письменного текста – это процесс перевода текста на другой язык с помощью письменного переноса информации из одного языка на другой с учетом...

    4 мая 2024

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

Вверх