
CVE-2021-22205 - GitLab: неаутентифицированное удалённое выполнение кода
CVE-2021-22205 — это критическая уязвимость удаленного выполнения кода (RCE), затрагивающая GitLab Community Edition (CE) и Enterprise Edition (EE). Уязвимость возникает из-за некорректной проверки загружаемых файлов изображений, которые обрабатываются сторонней утилитой ExifTool. Злоумышленник может создать вредоносный файл, который запускает произвольное выполнение команд на сервере GitLab. Уязвимость получила оценку CVSS 10.0 (критическая) и, как было замечено, активно эксплуатируется в реальных атаках.
Уязвимость затрагивает версии GitLab CE/EE, начиная с 11.9 и вплоть до следующих релизов:
Организации, использующие уязвимые версии GitLab, подвергались риску полной компрометации сервера через простую атаку с загрузкой файла.
GitLab использует ExifTool для извлечения и очистки метаданных из загружаемых файлов изображений. Сама ExifTool содержала уязвимость, связанную с обработкой специально созданных файлов DjVu (отслеживается как CVE-2021-22204). GitLab ошибочно доверял расширениям файлов и передавал загруженные файлы в ExifTool без достаточной проверки.
Злоумышленник мог замаскировать вредоносную полезную нагрузку DjVu под файл изображения. Когда GitLab обрабатывал файл, ExifTool интерпретировала вредоносные метаданные и выполняла команды, контролируемые злоумышленником, на сервере. Со временем атака была признана эксплуатируемой без аутентификации, что значительно повысило ее критичность.
Успешная эксплуатация может позволить злоумышленнику:
Поскольку многие организации предоставляют прямой доступ к своим экземплярам GitLab из интернета, эта уязвимость представляла собой серьезный риск для безопасности цепочки поставок и инфраструктуры.
После публичного раскрытия исследователи безопасности и киберпреступники быстро разработали рабочие эксплойты. Многочисленные отчеты задокументировали широкомасштабное сканирование и попытки эксплуатации публично доступных экземпляров GitLab. Позже уязвимость была добавлена в каталог Known Exploited Vulnerabilities (KEV) агентства CISA.
Администраторам следует немедленно обновиться до одной из исправленных версий:
Дополнительные рекомендации включают:
GitLab официально призвал клиентов с самостоятельным развертыванием как можно скорее обновиться после того, как была замечена активность по эксплуатации.
Этот репозиторий предназначен исключительно для образовательных целей, исследований в области безопасности и авторизованных тестовых сред. Любой предоставленный код proof-of-concept (PoC) предназначен для помощи специалистам по безопасности в понимании уязвимости и проверке мер по устранению. Несанкционированное тестирование систем, которыми вы не владеете или на оценку которых у вас нет явного разрешения, может нарушать действующие законы и нормативные акты.