Ссылка: Critical Security Release GitLab 16.7.2
🔍 Описание: Замечательная логическая уязвимость обнаружена в GitLab - CVE-2023-7028. Она позволяет переопределить электронную почту в механизме восстановления пароля, отправляя специально сформированный запрос. В нем в нулевом элементе массива указывается валидный email, а в следующем - email злоумышленника.
👾 PoC:
plaintextuser[email][]=valid@email.com&user[email][]=attacker@email.com
💡 Проверка: Для оценки факта компрометации системы предлагается проверить лог gitlab-rails/production_json.log
на наличие HTTP-запросов к обработчику /users/password
с указанием массива из нескольких email в параметре "params.value.email
". Также рекомендуется проверить лог gitlab-rails/audit_json.log
на записи со значением PasswordsController#create
в meta.caller.id
и указанием массива из нескольких адресов в блоке target_details
.
⚠️ Замечание: Атака не может быть успешно завершена, если у пользователя включена двухфакторная аутентификация.
🔐 Исправление: Проблема проявляется начиная с версии GitLab 16.1.0. Рекомендуется обновиться до последней версии, чтобы устранить уязвимость.