В APT е открита уязвимост, която ви позволява да замените пакет за изтегляне

подходяща уязвимост

Идентифициран е уязвимост в мениджъра на пакети APT (CVE-2019 3462-), Какво позволява на нападателя да инициира подправяне на инсталирания пакет дали нападателят има контрол върху огледалото на хранилището или може да наруши транзитния трафик между потребителя и хранилището (MITM атака).

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

Проблемът Това се дължи на неправилна проверка на полетата в кода за пренасочване на HTTP.

Какъв е проблемът?

Тази уязвимост позволява на нападателя да замести собственото си съдържание в данните, предавани в рамките на HTTP сесията (Debian и Ubuntu използват HTTP, а не HTTPS за достъп до хранилището, ако приемем, че цифровият подпис е достатъчен със съответстващи метаданни и размер на пакета.)

Идентифицираната уязвимост позволява захранването на атакуващия заменете предадения пакет, след което APT ще го възприеме като получен от официалното огледало и ще започне инсталационния процес.

Чрез включването в злонамерения пакет на скриптове, стартирани по време на инсталацията, нападателят може да постигне изпълнението на своя код в система с root права.

За да изтегли данни от хранилището, APT стартира дъщерен процес с изпълнението на определен транспорт и организира взаимодействието с този процес, използвайки прост текстов протокол с разделяне на командите на празен ред.

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

Същността на проблема е, че HTTP транспортният манипулатор, след получаване на отговор от HTTP сървъра със заглавката „Местоположение:“, той изисква потвърждение на пренасочването от основния процес.

Изцяло прехвърляне на съдържанието на тази заглавка. Поради липсата на чистота на предадените специални символи, нападателят може да посочи прекъсване на ред в полето "Местоположение:".

Тъй като тази стойност ще бъде декодирана и предадена през комуникационния канал с основния процес, нападателят може да симулира различен отговор от HTTP транспортния манипулатор и да замести фиктивния URI блок 201.

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

Изчисляването на хешове за изтеглените файлове се обработва и основният процес просто проверява тези данни с хешове от базата данни на подписани пакети.

Сред метаданните нападателят може да посочи всяка стойност на тестови хешове, свързани в базата данни с действително подписани пакети, но всъщност не съответства на хешовете на прехвърления файл.

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

Изтеглянето на зловреден пакет се извършва чрез прикачване на пакета към файла Release.gpg по време на прехвърляне.

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

При получаване на данни, apt деактивира работните процеси, които се специализират в различните протоколи, които ще се използват за трансфер на данни.

След това основният процес комуникира с тези работници чрез stdin / stdout, за да им каже какво да изтеглят и къде да го поставят във файловата система, използвайки протокол, който малко прилича на HTTP.

След това основният процес ще изпрати своята конфигурация и ще поиска ресурс, а работният процес ще отговори.

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


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

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