Утилита командной строки Wget предназначена для загрузки файлов из интернета. Её разработка началась более двадцати лет в рамках проекта GNU. С тех пор она была портирована на все популярные системы. Большинство дистрибутивов Linux устанавливают её по умолчанию.
Уязвимость связана с тем, как Wget обрабатывает коды HTTP, вызывающие перенаправление на другой адрес. При редиректе по коду 302 утилита должна сохранять загруженный с нового адреса файл под названием, которое соответствует адресу оригинала. Однако в действительности так происходило только в том случае, если оба адреса используют протокол HTTP. Если новый адрес вёл на сервер FTP, название загруженного файла оставалось нетронутым.
Поскольку Wget нередко используют в скриптах для регулярной загрузки файлов по cron, это открывает злоумышленникам широкие возможности для атаки. Вот один из возможных сценариев. Если поставить редирект с одного из загружаемых файлов на файл с названием .bash_profile, лежащий на сервере FTP, то Wget загрузит и сохранит его именно под этим названием. Если затем жертва запустит оболочку Bash, команды из этого файла будут автоматически исполнены на её машине.
9 июня разработчики Wget выпустили обновлённую версию утилиты, в которой редиректы на FTP не вызывают такой проблемы. С тех пор прошёл почти целый месяц, но создатели многих дистрибутивов Linux так и не отреагировали на обновление.
Исключение составляют Ubuntu и Arch Linux, которые исправили Wget быстрее всех. С остальными дистрибутивами всё плохо. Новый Wget включён только в нестабильную ветвь Debian, стабильная же пока обходится уязвимой версией утилиты. В Red Hat обновления пока нет вовсе, и уже известно, что в пятой и шестой версии дистрибутива его и не будет. На улучшение ситуации стоит надеяться только пользователям Red Hat 7.x.