GitLab выпускает патчи для исправления критической уязвимости, которая позволяет запускать конвейеры (pipeline) от лица других пользователей, злоупотребляя для этого политиками запланированных сканирований безопасности.
Критическая уязвимость получила идентификатор CVE-2023-4998 (9,6 балла по шкале CVSS) и представляет опасность для GitLab Community Edition (CE) и Enterprise Edition (EE) версий с 13.12 по 16.2.7, а также с 16.3 по 16.3.4.
Проблему обнаружил ИБ-исследователь и багантер Йохан Карлссон (Johan Carlsson), которому удалось обойти патч для исправленной в августе проблемы CVE-2023-3932 и продемонстрировать, что этот баг может представлять более серьезную угрозу. После этого степень серьезности уязвимости повысилась до критической, и она получила новый CVE.
Запуск конвейера от имени другого пользователя, без его ведома и разрешения, может привести к тому, что злоумышленник получит доступ к конфиденциальной информации или сможет злоупотребить правами этого пользователя для выполнения кода, модификации данных или запуска определенных событий в GitLab.
В итоге такая компрометация может привести к потере интеллектуальной собственности, утечке данных, атаке на цепочку поставок и другим малоприятным сценариям.
В своем бюллетене безопасности разработчики GitLab подчеркивают серьезность проблемы и призывают пользователей как можно скорее применить уже доступные патчи: уязвимость устранена в составе GitLab Community Edition и Enterprise Edition 16.3.4 и 16.2.7.
«Мы настоятельно рекомендуем как можно скорее обновить до последней версии все установки, работающие под управлением версий, затронутых описанными выше проблемами», — предупреждают в GitLab.
Для пользователей более старых версий (до 16.2), которые пока не получили исправлений, в качестве временного решения проблемы предлагается не включать одновременно «Direct transfers» и «Security policies». Если обе эти функции активны, установка уязвима перед CVE-2023-4998, и поэтому настоятельно рекомендуется использовать их по очереди.