JWT audience claim is not verified (argoproj argo-cd)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.88 % Β· percentile 59 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- GitHub_M
- NVD status
- Modified
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.
Weaknesses (CWE)
- CWE-863 β Incorrect Authorization
References
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | CRITICAL 9.1 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H | GitHub_M |
| CVSS 3.1 | CRITICAL 9.0 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H | NVD Β· security-advisories@github.com (Secondary) |
| CVSS 3.1 | HIGH 8.8 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H | NVD Β· nvd@nist.gov (Primary) |
Advisories
- GHSA-q9hr-j4rf-8fjc β JWT audience claim is not verified
- GO-2023-1520 β JWT audience claim is not verified in github.com/argoproj/argo-cd
European references
- ENISA EUVD Β· EUVD-2023-0532
- GCVE Β· GCVE-0-2023-22482
Affected configurations (NVD CPE)
cpe:2.3:a:argoproj:argo_cd:*:*:*:*:*:*:*:*β₯ 1.8.2 < 2.3.14cpe:2.3:a:argoproj:argo_cd:*:*:*:*:*:*:*:*β₯ 2.4.0 < 2.4.20cpe:2.3:a:argoproj:argo_cd:*:*:*:*:*:*:*:*β₯ 2.5.0 < 2.5.8cpe:2.3:a:argoproj:argo_cd:2.6.0:rc1:*:*:*:*:*:*cpe:2.3:a:argoproj:argo_cd:2.6.0:rc2:*:*:*:*:*:*cpe:2.3:a:argoproj:argo_cd:2.6.0:rc3:*:*:*:*:*:*cpe:2.3:a:argoproj:argo_cd:2.6.0:rc4:*:*:*:*:*:*
Affected products
| Product | Versions |
|---|---|
| argoproj Β· argo-cd | affected >= 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 |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST β attribution requested |
| ENISA EUVD | ENISA β reproduction authorised, source acknowledged |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain β this product uses data from the NVD API but is not endorsed or certified by the NVD |