Уразливості в GitLab, що дозволяють захопити обліковий запис та виконати команди під іншим користувачем

Опубліковано коригуючі оновлення платформи для організації спільної розробки — GitLab 16.7.2, 16.6.4 та 16.5.6, у яких усунуто дві критичні вразливості. Перша вразливість (CVE-2023-7028), якій надано максимальний рівень небезпеки (10 з 10), дозволяє захопити чужий обліковий запис через маніпуляції з формою відновлення забутого пароля. Уразливість викликана можливістю надсилання листа з кодом для скидання пароля на непідтверджені email-адреси. Проблема проявляється починаючи з випуску GitLab 16.1.0, в якому з'явилася можливість відправлення коду відновлення пароля на неверифіковану запасну email-адресу.

Для перевірки фактів компрометації систем пропонується оцінити в лозі gitlab-rails/production_json.log наявність HTTP-запитів до обробника /users/password із зазначенням масиву з кількох email у параметрі "params.value.email". Також пропонується перевірити наявність у лозі gitlab-rails/audit_json.log записів зі значенням PasswordsController#create у meta.caller.id та вказівкою масиву з кількох адрес у блоці target_details. Атака не може бути доведена до кінця при включенні користувачем двофакторної автентифікації.

Друга вразливість CVE-2023-5356 є в коді для інтеграції з сервісами Slack і Mattermost, і дозволяє виконати /-команди під іншим користувачем через відсутність належної перевірки авторизації. Проблемі надано рівень небезпеки 9.6 з 10. У нових версіях також усунуто менш небезпечну (7.6 з 10) вразливість (CVE-2023-4812), що дозволяє обійти підтвердження CODEOWNERS через додавання змін до раніше схваленого запиту на злиття.

Детальну інформацію про виявлені вразливості планують розкрити за 30 днів після публікації виправлення. Інформація про вразливість передана в GitLab в рамках програми виплати винагород, що діє на HackerOne, за виявлення вразливостей.

Джерело: opennet.ru

Додати коментар або відгук