Уязвимость в GitLab, позволяющая записать файлы в произвольный каталог на сервере

Опубликованы корректирующие обновления платформы для организации совместной разработки – GitLab 16.8.1, 16.7.4, 16.6.6 и 16.5.8, в которых устранены 5 уязвимостей. Одной из проблем (CVE-2024-0402), которая проявляется начиная с выпуска GitLab 16.0, присвоен критический уровень опасности. Уязвимость позволяет неаутентифицированному пользователю записать файлы в любой каталог на сервере, насколько это позволяют права доступа, под которыми выполняется web-интерфейс GitLab.

Уязвимость вызвана ошибкой в реализации функции создания рабочих пространств (workspace). Ошибка проявляется при разборе параметров devfile, заданных в некорректном формате YAML (в патче проблема решена преобразованием YAML в JSON и проверкой наличия конструкций, корректных в YAML, но недопустимых в JSON из-за использования определённых Unicode-символов). Детальную информацию об уязвимости планируют раскрыть через 30 дней после публикации исправления. Уязвимость выявлена в ходе внутренней проверки одним из сотрудников компании GilLab.

Release. Ссылка here.