GPU VulnDB

Database/Container, Kubernetes & orchestration

Argo CD repo-server: Jsonnet imports escape the repository root and read service-account tokens

CVSS 9.9CVE-2026-113672Container, Kubernetes & orchestrationcurated

Impact

The repo-server's Jsonnet evaluator does not confine import, importstr or importbin to the repository root, so a .jsonnet file can read any file the repo-server process can read - /proc/self/environ, the projected service-account token, mounted private keys, and the repository credentials for every repo Argo CD manages. Generated Secrets are redacted, but placing the imported content in a ConfigMap hands it straight back to the caller. In a GPU cluster where Argo CD is the thing that deploys the GPU operator, device plugins and tenant workloads, those credentials are the keys to the whole fleet's desired state. importstr against a non-terminating device such as /dev/zero also exhausts repo-server memory and stalls all manifest generation.

Who can reach it

An authenticated Argo CD user with only Application get permission on an existing directory Application, via POST /api/v1/applications/manifestsWithFiles (also reachable through argocd app diff --local --server-side-generate) - no update, sync or repository write permission needed. Alternatively anyone with git push access to a repository an Application tracks; directory Applications evaluate every .jsonnet file in the directory.

What to do

Upgrade Argo CD to 3.3.15, 3.4.10, 3.5.4 or 3.6.0-rc2 and restart argocd-repo-server; no node drain or GPU workload disruption is involved since running workloads are untouched while the control plane rolls. If an upgrade cannot be scheduled immediately, disable the built-in Jsonnet tool per the Argo CD tool-detection documentation. Rotate the repo-server service-account token and any repository credentials that were reachable if you suspect use.

References

Related entries

All Container, Kubernetes & orchestration entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.