CVE-2023-22482
JWT audience claim is not verified
Record summary
CVE-2023-22482 has a selected CVSS score of 9.1 (critical).
Description
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Versions of Argo CD starting with v1.8.2 and prior to 2.3.13, 2.4.19, 2.5.6, and 2.6.0-rc-3 are vulnerable to an improper authorization bug causing the API to accept certain invalid tokens. OIDC providers include an `aud` (audience) claim in signed tokens. The value of that claim specifies the intended audience(s) of the token (i.e. the service or services which are meant to accept the token). Argo CD _does_ validate that the token was signed by Argo CD's configured OIDC provider. But Argo CD _does not_ validate the audience claim, so it will accept tokens that are not intended for Argo CD. If Argo CD's configured OIDC provider also serves other audiences (for example, a file storage service), then Argo CD will accept a token intended for one of those other audiences. Argo CD will grant the user privileges based on the token's `groups` claim, even though those groups were not intended to be used by Argo CD. This bug also increases the impact of a stolen token. If an attacker steals a valid token for a different audience, they can use it to access Argo CD. A patch for this vulnerability has been released in versions 2.6.0-rc3, 2.5.6, 2.4.19, and 2.3.13. There are no workarounds.
Exploitation context
CISA SSVC decision
CISA Coordinator · SSVC 2.0.3 · Evaluated Mar 11, 2025 · Source: CVE List
Affected products and versions
2| Product | Source | Version range | Status |
|---|---|---|---|
argo-cdBrowse argoproj / argo-cd | CVE List | >= 1.8.2, < 2.3.13 | affected |
| >= 2.4.0-rc1, < 2.4.19 | affected | ||
| >= 2.5.0-rc1, < 2.5.6 | affected | ||
| >= 2.6.0-rc1, < 2.6.0-rc3 | affected | ||
github.com/argoproj/argo-cdBrowse Go / github.com/argoproj/argo-cd | GitHub Advisory | 1.8.2 to < 2.3.14 · Fixed in 2.3.14 | affected |
| 2.4.0 to < 2.4.20 · Fixed in 2.4.20 | affected | ||
| 2.5.0 to < 2.5.8 · Fixed in 2.5.8 | affected | ||
| 2.6.0-rc1 to < 2.6.0-rc5 · Fixed in 2.6.0-rc5 | affected |