GitLab выпустила патчи для критической уязвимости CVE-2026-90970 в AI Gateway. Баг оценён в 9,9 балла по CVSS и позволяет аутентифицированному атакующему выполнять произвольные команды на сервере. Проблема касается только организаций, которые самостоятельно хостят AI Gateway.

AI Gateway связывает инстанс GitLab с ИИ-моделями и обеспечивает работу функций GitLab Duo. Хотя GitLab использует собственный облачный инстанс AI Gateway для GitLab.com, GitLab Self-Managed и GitLab Dedicated, пользователи могут развертывать собственные установки через GitLab Duo Self-Hosted.

Уязвимость затрагивает самостоятельно развернутые экземпляры AI Gateway начиная с версии 18.1.6. Исправления включены в версии 19.2.4, 19.3.2 и 19.4.1, и разработчики настоятельно рекомендуют установить их как можно скорее. Владельцы самостоятельно хостируемых инстансов были предупреждены о необходимости срочного обновления ещё до публикации официального бюллетеня.

Пользователи AI Gateway, размещённого на серверах самой GitLab, уже защищены и не должны предпринимать дополнительных действий.

Уязвимость связана с обработкой шаблонов промптов в пользовательских flow — автоматизированных сценариях Duo Agent Platform. Аутентифицированный пользователь с доступом к платформе мог использовать специальную конфигурацию flow, которая позволяла выйти за пределы песочницы шаблона промпта. Атакующий получал возможность выполнять произвольные команды непосредственно в AI Gateway.

GitLab не раскрывает дополнительные детали об эксплуатации. Также не уточнено, какой минимальный уровень привилегий потребуется атакующему помимо доступа к Duo Agent Platform.

Компрометация AI Gateway может привести к серьёзным последствиям: на сервере хранятся ключи подписи JWT, происходит взаимодействие с инстансом GitLab и провайдерами ИИ-моделей организации. GitLab рекомендует защищать эти ключи как чувствительные учетные данные.

AI Gateway устанавливается отдельно в виде Docker-образа или Helm-чарта, поэтому его нужно обновлять независимо от GitLab. Для веток до версии 19.2 исправлений пока нет — релизы с 18.1.6 до 19.1 включительно остаются в уязвимом диапазоне.