Опубликованы результаты эксперимента по захвату контроля над пакетами в репозитории AUR (Arch User Repository), применяемом для распространения сторонними разработчиками своих пакетов без включения в основные репозитории дистрибутива Arch Linux. Исследователи подготовили скрипт, проверяющий истечение регистрации доменов, фигурирующих в файлах PKGBUILD и SRCINFO. В ходе запуска данного скрипта было выявлено 14 просроченных домена, используемых в 20 пакетах для загрузки файлов.
Простой регистрации домена недостаточно для подмены пакета, так как загружаемое содержимое проверяется по уже загруженной в AUR контрольной сумме. Тем не менее, оказалось, что сопровождающие около 35% пакетов в AUR используют в файле PKGBUILD параметр “SKIP” для пропуска проверки контрольной суммы (например, указывают sha256sums=(‘SKIP’)). Из 20 пакетов с просроченными доменами параметр SKIP использовался в 4.
Для демонстрации возможности совершения атаки исследователи купили домен одного из пакетов, не проверяющих контрольные суммы, и разместили на нём архив с кодом и изменённый сценарий установки. Вместо фактического содержимого в сценарий был добавлен вывод предупреждения о выполнении стороннего кода. Попытка установки пакета приводила к загрузке подменённых файлов и, так как контрольная сумма не проверялась, к успешной установке и запуску добавленного экспериментаторами кода.
Пакеты, домены с кодом для которых оказались просрочены:
- firefox-vacuum
- gvim-checkpath
- wine-pixi2
- xcursor-theme-wii
- lightzone-free
- scalafmt-native
- coolq-pro-bin
- gmedit-bin
- mesen-s-bin
- polly-b-gone
- erwiz
- totd
- kygekteampmmp4
- servicewall-git
- amuletml-bin
- etherdump
- nap-bin
- iscfpc
- iscfpc-aarch64
- iscfpcx