
В системе GitLab выявлена архитектурная уязвимость, касающаяся функционирования сервиса обработки входящих электронных сообщений. Специалисты компании Aikido Security установили, что персональный адрес электронной почты, используемый для создания задач через e-mail, на деле представляет собой постоянный токен аутентификации. Его перехват может позволить злоумышленникам внедрять вредоносный код и обходить основные меры безопасности.
Адрес, создаваемый платформой, включает в себя уникальный идентификатор пользователя, не имеющий ограничений по сроку действия и применяющийся ко всем проектам, доступным аккаунту – как открытым, так и закрытым. При этом GitLab не осуществляет проверку подлинности отправителя письма. В случае получения доступа к такому адресу, злоумышленник может изменить его суффикс с -issue на -merge-request и передать патч с указанием целевой ветки. Платформа автоматически внесет изменения и создаст коммит от имени владельца токена, включая внедрение файлов .gitlab-ci.yml для запуска произвольных CI/CD-скриптов.
Ключевая опасность заключается в том, что отправка команд через электронную почту полностью обходит двухфакторную аутентификацию и ограничения по IP-адресам, настроенные в параметрах безопасности проекта. Потенциальный масштаб ущерба ограничен лишь правами пользователя, чей токен был скомпрометирован: если токен принадлежит участнику с ролью Maintainer, атака предоставляет полный доступ к защищенным веткам и секретам CI/CD.
Данная проблема затрагивает как GitLab.com, так и Self-Managed инсталляции. Пользователям рекомендуется аннулировать текущий токен в настройках профиля, а администраторам – деактивировать входящую почту на уровне сервера.