Уразлівасці ў 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

Дадаць каментар