- 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.
- Source
- security-advisories@github.com
- NVD status
- Modified
CVSS 3.1
- Type
- Primary
- Base score
- 8.8
- Impact score
- 5.9
- Exploitability score
- 2.8
- Vector string
- CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Severity
- HIGH
- security-advisories@github.com
- CWE-863
- Hype score
- Not currently trending
[
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:argoproj:argo_cd:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "2BB2E66B-3691-4FD9-8984-6EF63E49B39C",
"versionEndExcluding": "2.3.14",
"versionStartIncluding": "1.8.2"
},
{
"criteria": "cpe:2.3:a:argoproj:argo_cd:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "5774C53F-D6CB-4F87-A192-35BC3CA11D5E",
"versionEndExcluding": "2.4.20",
"versionStartIncluding": "2.4.0"
},
{
"criteria": "cpe:2.3:a:argoproj:argo_cd:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "7508D913-6A85-47EB-97D8-E31F35CC6188",
"versionEndExcluding": "2.5.8",
"versionStartIncluding": "2.5.0"
},
{
"criteria": "cpe:2.3:a:argoproj:argo_cd:2.6.0:rc1:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "4E9E8774-D703-4CE5-8B90-EE3CD7A45005"
},
{
"criteria": "cpe:2.3:a:argoproj:argo_cd:2.6.0:rc2:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "EC71D67C-2326-401A-AB60-961A3C500FDC"
},
{
"criteria": "cpe:2.3:a:argoproj:argo_cd:2.6.0:rc3:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "F78053BA-9B03-4831-881A-8C71C8B583D8"
},
{
"criteria": "cpe:2.3:a:argoproj:argo_cd:2.6.0:rc4:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "F5C06F6A-AB8A-4633-912E-B07046ECF5C8"
}
],
"operator": "OR"
}
]
}
]