В GitLab устранили сразу две критические уязвимости, одну из которых можно было использовать для захвата учетных записей без какого-либо взаимодействия с пользователем.
Наиболее опасная из уязвимостей, CVE-2023-7028, получила максимальные 10 баллов по шкале CVSS и может использоваться для захвата учетной записи путем отправки письма для сброса пароля на произвольный, непроверенный адрес электронной почты.
Сообщается, что этот баг является результатом ошибки в процессе верификации email, которая позволяла сбрасывать пароль через дополнительный адрес электронной почты.
Уязвимость затрагивает все self-managed экземпляры GitLab Community Edition (CE) и Enterprise Edition (EE), использующих следующие версии:
• 16.1 до 16.1.6;
• 16.2 до 16.2.9;
• 16.3 до 16.3.7;
• 16.4 до 16.4.5;
• 16.5 до 16.5.6;
• 16.6 до 16.6.4;
• 16.7 до 16.7.2.
GitLab сообщает, что устранила проблему в версиях GitLab 16.5.6, 16.6.4 и 16.7.2, а также сделала бэкпорт исправлений в версии 16.1.6, 16.2.9, 16.3.7 и 16.4.5. Компания отмечает, что ошибка появилась еще в версии 16.1.0, то есть в мае 2023 года.
«В указанных версиях затронуты все механизмы аутентификации, — сообщают в GitLab. — Кроме того, пользователи, у которых включена двухфакторная аутентификация, уязвимы перед сбросом пароля, но не перед захватом аккаунта, поскольку для входа потребуется второй фактор аутентификации».
Хотя GitLab заявляет, что не обнаружила ни одного случая эксплуатации CVE-2023-7028 злоумышленниками, компания поделилась следующими индикаторами компрометации:
- в 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 с несколькими адресами электронной почты.
Что касается второй уязвимости (CVE-2023-5356, 9,6 баллов по шкале CVSS), она позволяет пользователю злоупотреблять интеграциями Slack/Mattermost для выполнения slash-команд от имени другого пользователя.
Для снижения потенциальных рисков всем пользователям рекомендуется как можно скорее обновить инстансы до исправленной версии, а также включить 2ФА, если это не было сделано ранее.