По информации Bleeping Computer, GitLab закрыла критическую уязвимость CVE-2022-1162, которая позволяла удаленно получать доступ к учетным записям пользователей.
Проблема затрагивала платформы GitLab Community Edition (CE) и Enterprise Edition (EE) версий от 14.7 до 14.7.7, от 14.8 до 14.8.5 и от 14.9 до 14.9.2 где использовались жестко заданные (hardcoded) пароли для учетных записей пользователей с использованием OmniAuth (OAuth, LDAP, SAML.)
Разработчики GitLab пояснили, что из-за ошибки в рабочем коде системы некоторое время вместо отдельного токена для авторизации использовался типовой тестовый пароль из переменной «Gitlab::Password.test_default», генерируемый как '«123qweQWE!@#» + «0» * (User.password_length.max — DEFAULT_LENGTH') и предназначенный для проведения внутренних тестов.
В рамках закрытия критической уязвимости GitLab удалила файл lib/gitlab/password.rb, который использовался для назначения hardcoded пароля константе TEST_DEFAULT.
GitLab попросила всех разработчиков обновить все установки CE и EE до пропатченных версий (14.9.2, 14.8.5 или 14.7.7), где эта уязвимость устранена.
GitLab сбросила пароли части пользователей GitLab.com, чтобы нельзя было использовать уязвимость CVE-2022-1162 в дальнейшем. GitLab не выявила следов компрометации учетных данных пользователей по этому инциденту, но не раскрыла детали своего расследования.
GitLab в рамках смягчения последствий данного инцидента выложила скрипт, который ищет учетные записи пользователей, подверженных уязвимости CVE-2022-1162. В случае их обнаружения разработчикам рекомендуется сбросить пароли учетных записей.