Критическая Zero-click уязвимость CVE-2023-7028 (оценка CVSS 10.0), о которой мы уже сообщали на прошлой неделе, обнаружена исследователями в более чем 5 300 экземплярах GitLab, доступных из Интернета. Несмотря на то, что проблема устранена в последних версиях GitLab, далеко не все пользователи успели обновить свой софт.
Данная уязвимость позволяет злоумышленникам захватывать учётные записи без необходимости взаимодействия с пользователем. Хакеры отправляют письма для сброса пароля на контролируемый ими адрес электронной почты, что и даёт возможность изменить пароль и захватить учётную запись.
Хотя уязвимость не даёт возможности обойти двухфакторную аутентификацию (2FA), для учётных записей, не защищённых этим дополнительным механизмом безопасности, она представляет колоссальный риск.
Проблема затрагивает следующие выпуски GitLab Community и Enterprise Edition:
- 16.1 до версии 16.1.5;
- 16.2 до версии 16.2.8;
- 16.3 до версии 16.3.6;
- 16.4 до версии 16.4.4;
- 16.5 до версии 16.5.6;
- 16.6 до версии 16.6.4;
- 16.7 до версии 16.7.2.
Соответствующие исправления были выпущены 11 января. Спустя две недели служба мониторинга угроз ShadowServer сообщаето 5379 уязвимых экземплярах GitLab, доступных из Интернета.
Исходя из роли GitLab как платформы для разработки программного обеспечения и планирования проектов, а также характера уязвимости, эти серверы находятся под угрозой атак на цепочку поставок, раскрытия собственного кода, утечки API-ключей и другой вредоносной деятельности.
По данным Shadowserver, большинство уязвимых серверов находится в Соединённых Штатах (964), за которыми следуют Германия (730), Россия (721), Китай (503), Франция (298), Великобритания (122), Индия (117) и Канада (99).
Те, кто ещё не установил патчи, могут уже быть скомпрометированы, поэтому крайне важно использовать руководство по реагированию на инциденты GitLab и проверять наличие признаков компрометации.
GitLab ранее поделился следующими советами по обнаружению для ИБ-специалистов:
- проверить gitlab-rails/production_json.log на наличие HTTP-запросов к пути /users/password с params.value.email, состоящим из массива JSON с несколькими адресами электронной почты;
- проверить gitlab-rails/audit_json.log на наличие записей с meta.caller.id PasswordsController#create и target_details, состоящих из массива JSON с несколькими адресами электронной почты.
Администраторам, обнаружившим скомпрометированные экземпляры, следует сменить все учётные данные, API-токены, сертификаты и другие секреты, в дополнение к активации 2FA на всех учётных записях и установке обновления безопасности.
После обеспечения безопасности серверов администраторам следует проверить наличие изменений в среде разработки, включая исходный код и потенциально подделанные файлы.
На сегодняшний день пока не было подтверждённых случаев активной эксплуатации уязвимости CVE-2023-7028, но это не должно рассматриваться как повод для отсрочки принятия мер.