Компания GitLab предупредила пользователей об увеличении активности злоумышленников, связанной с эксплуатацией критической уязвимости CVE-2021-22205, позволяющей удалённо без прохождения аутентификации выполнить свой код на сервере, на котором используется платформа для организации совместной разработки GitLab.
Проблема проявляется в GitLab начиная с версии 11.9 и была устранена ещё в апреле в выпусках GitLab 13.10.3, 13.9.6 и 13.8.8. Тем не менее, судя по проведённому 31 октября сканированию глобальной сети из 60 тысяч публично доступных экземпляров GitLab, на 50% систем продолжают использоваться устаревшие версии GitLab, подверженные уязвимости. Необходимые обновления установлены только на 21% из проверенных серверов, а на 29% систем определить номер используемой версии не удалось.
Халатное отношение администраторов серверов с GitLab к установке обновлений привело к тому, что уязвимость начала активно эксплуатироваться злоумышленниками, которые стали размещать на серверах вредоносное ПО и подключать их к работе ботнета, участвующего в совершении DDoS-атак.
В пике объём трафика в процессе DDoS-атаки, генерируемой ботнетом на базе уязвимых серверов GitLab, доходил до 1 терабита в секунду.
Уязвимость вызвана некорректной обработкой загружаемых файлов с изображениями внешним парсером на базе библиотеки ExifTool. Уязвимость в ExifTool (CVE-2021-22204) позволяла выполнить произвольные команды в системе при разборе метаданных из файлов в формате DjVu:
(metadata (Copyright ” ” . qx{echo test >/tmp/test} . ” b “) )
При этом, так как фактический формат определялся в ExifTool по MIME-типу содержимого, а не расширению файла, атакующий могу загрузить DjVu-документ с эксплоитом под видом обычного JPG- и TIFF-изорбражения (GitLab вызывает ExifTool для всех файлов с расширениями jpg, jpeg и tiff для чистки лишних тегов). Пример эксплоита. В конфигуарции GitLab CE по умолчанию атака может быть проведена через отправку двух запросов, не требующих прохождения аутентификации.
Пользователям GitLab рекомендуется убедиться в использовании актуальной версии и в случае использования устаревшего выпуска срочно установить обновления, а если это по каким-то причинам невозможно, выборочно применить патч, блокирующий проявление уязвимости. Пользователям необновлённых систем также рекомендуется убедиться, что их система не скомпрометирована, проанализировав логи и проверив наличие подозрительных учётных записей атакующих (например, dexbcx, dexbcx818, dexbcxh, dexbcxi и dexbcxa99).