Уязвимость в пакетном менеджере pacman, позволяющая выполнить код в ходе MITM-атаки
В пакетном менеджере pacman, применяемом в дистрибутиве Arch Linux, выявлена уязвимость (CVE-2019-9686), позволяющая добиться выполнения кода с правами root в момент установки пакета, в случае контроля атакующим за транзитным трафиком жертвы в ходе MITM-атаки (например, при подключении пользователя через сетевой шлюз, VPN или беспроводную точку доступа, подконтрольные атакующему) или контроля за зеркалом репозитория. Проблема устранена в обновлении pacman 5.1.3-1.
Уязвимость напоминает недавно выявленную проблему в пакетном менеджере APT и также связана с возможностью подмены определенных полей в HTTP-ответах от репозитория. В Arch Linux, как и большинстве других дистрибутивов, обращение к репозиториям осуществляется по HTTP без шифрования трафика, но с применением верификация целостности и источника пакета по цифровой подписи. При установке пакета при помощи команды "pacman -U" с указание конкретного URL, атакующий может подменить имя файла, передаваемое через HTTP-заголовок "Content-Disposition".
Пакетный менеджер pacman использует передаваемое в заголовке "Content-Disposition" значение для переименования полученного файла без должной проверки его корректности и без вырезания символов "../" из файлового пути. Переименование выполняется на стадии до проверки данных по цифровой подписи. Атакующий может поменять имя файла на строку вида "../../usr/share/libalpm/hooks/evil.hook" и добиться размещения своего файла в любой части файловой системы. Подобная манипуляция приведет к выводу ошибки из-за невозможности найти файл в каталоге с кэшем пакетов, но скопированный файл останется в системе.