Argo CD: критическая уязвимость CVE-2026-113672 позволяет читать файлы repo-server через Jsonnet import
В Argo CD обнаружена критическая уязвимость CVE-2026-113672 с оценкой CVSS 9.9. Обработчик импорта в .jsonnet-файлах не ограничивает доступ корнем репозитория, что позволяет читать произвольные файлы repo-server — включая токены service account, приватные ключи и учётные данные репозиториев. Уязвимы версии с 0.9.0 до 3.3.15, 3.4.10, 3.5.4 и 3.6.0-rc2.
Подробности
Уязвимость присутствует в Argo CD (argoproj argo-cd) начиная с версии 0.9.0 и до 3.3.15, 3.4.10, 3.5.4 и 3.6.0-rc2. При вычислении .jsonnet-файлов repo-server использует importer, который не ограничивает конструкции import, importstr и importbin корнем репозитория. В результате абсолютные пути, переход через родительские директории (parent-directory traversal) и символические ссылки внутри репозитория позволяют открыть любой файл, доступный для чтения процессу repo-server. Среди потенциально доступных целей — /proc/self/environ, проецируемые токены service account, смонтированные приватные ключи и учётные данные репозиториев. Хотя сгенерированные Secrets редактируются (redacted), размещение импортированного содержимого в ConfigMap возвращает данные вызывающей стороне. Кроме того, использование importstr на устройстве без признака конца файла, например /dev/zero, приводит к исчерпанию памяти repo-server. Векторы атаки: злоумышленник может закоммитить .jsonnet-файл в Git-репозиторий, используемый Application, либо загрузить файл через POST /api/v1/applications/manifestsWithFiles — этот путь также задействуется командой argocd app diff --local --server-side-generate. Для приложений-директорий вычисляется каждый .jsonnet-файл в каталоге приложения. Примечательно, что для загрузки через API достаточно лишь разрешения Application get на существующее directory Application — без прав Application update или sync и без доступа на запись в репозиторий.Что делать
Единственная надёжная мера — обновление до исправленных версий: 3.3.15, 3.4.10, 3.5.4 или 3.6.0-rc2. До установки патча рекомендуется ограничить круг пользователей и сервисных учётных записей, обладающих правом Application get на directory Applications, а также по возможности запретить или ограничить использование .jsonnet в недоверенных репозиториях. Следует проверить журналы на предмет подозрительных загрузок через manifestsWithFiles и необычных обращений repo-server к файлам вне репозиториев, а также убедиться, что смонтированные в repo-server секреты и ключи имеют минимально необходимые права.Итог
CVE-2026-113672 — серьёзная угроза для контуров на базе Argo CD: низкий порог эксплуатации через API в сочетании с доступом к чувствительным данным repo-server делает её приоритетной для закрытия. Обновитесь до исправленной версии как можно скорее и пересмотрите права на directory Applications.Источник: CVE Project (cvelistV5)
