Foram publicados os resultados de um experimento de controle sobre pacotes no repositório AUR (Arch User Repository), utilizado para a distribuição de pacotes por desenvolvedores de terceiros sem inclusão nos repositórios principais da distribuição Arch Linux. Os pesquisadores prepararam um script que verifica a expiração do registro de domínios presentes nos arquivos PKGBUILD e SRCINFO. Durante a execução deste script, foram identificados 14 domínios expirados, utilizados em 20 pacotes para download de arquivos.
Simples registro de domínio não é suficiente para substituir um pacote, pois o conteúdo baixado é verificado pela soma de verificação já carregada no AUR. No entanto, foi descoberto que cerca de 35% dos pacotes no AUR utilizam no arquivo PKGBUILD o parâmetro ‘SKIP’ para pular a verificação da soma de verificação (por exemplo, indicam sha256sums=(‘SKIP’)). Dos 20 pacotes com domínios expirados, o parâmetro SKIP foi utilizado em 4.
Para demonstrar a possibilidade de ataque, os pesquisadores compraram o domínio de um dos pacotes que não verificam as somas de verificação e colocaram nele um arquivo com o código e um script de instalação alterado. Em vez do conteúdo real, o script foi adicionado com uma saída de aviso sobre a execução de código de terceiros. A tentativa de instalação do pacote resultava no download de arquivos adulterados e, como a soma de verificação não era verificada, na instalação bem-sucedida e execução do código adicionado pelos experimentadores.
Pacotes cujos domínios com código se mostraram expirados:
- 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
Fonte: opennet.ru
