Bug 2160492 (CVE-2023-22482) - CVE-2023-22482 ArgoCD: JWT audience claim is not verified
Summary: CVE-2023-22482 ArgoCD: JWT audience claim is not verified
Keywords:
Status: CLOSED ERRATA
Alias: CVE-2023-22482
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 2160487
TreeView+ depends on / blocked
 
Reported: 2023-01-12 15:20 UTC by Marco Benatto
Modified: 2023-03-20 06:56 UTC (History)
6 users (show)

Fixed In Version: ArgoCD-2.6.0-rc5, ArgoCD-2.5.8, ArgoCD-2.4.20, ArgoCD-2.3.14
Doc Type: If docs needed, set a value
Doc Text:
A flaw was found in ArgoCD. GitOps is vulnerable to an improper authorization bug where the API may accept invalid tokens. ID providers include an audience claim in signed tokens, which may be used to restrict which services can accept the token. ArgoCD doesn't properly validate the audience claim in such scenarios; if the ID provider used with ArgoCD is also being used with other audiences, it will accept tokens that may not be intended to access the ArgoCD cluster.
Clone Of:
Environment:
Last Closed: 2023-01-28 06:22:12 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2023:0466 0 None None None 2023-01-25 20:28:28 UTC
Red Hat Product Errata RHSA-2023:0467 0 None None None 2023-01-25 20:31:58 UTC
Red Hat Product Errata RHSA-2023:0468 0 None None None 2023-01-25 20:49:05 UTC

Description Marco Benatto 2023-01-12 15:20:03 UTC
All versions of Argo CD starting with v1.8.2 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 blast radius of a stolen token. If an attacker steals a valid token for a different audience, they can use it to access
Argo CD.

Comment 3 errata-xmlrpc 2023-01-25 20:28:26 UTC
This issue has been addressed in the following products:

  Red Hat OpenShift GitOps 1.6

Via RHSA-2023:0466 https://access.redhat.com/errata/RHSA-2023:0466

Comment 4 errata-xmlrpc 2023-01-25 20:31:56 UTC
This issue has been addressed in the following products:

  Red Hat OpenShift GitOps 1.7

Via RHSA-2023:0467 https://access.redhat.com/errata/RHSA-2023:0467

Comment 5 errata-xmlrpc 2023-01-25 20:49:03 UTC
This issue has been addressed in the following products:

  Red Hat OpenShift GitOps 1.5

Via RHSA-2023:0468 https://access.redhat.com/errata/RHSA-2023:0468

Comment 6 Product Security DevOps Team 2023-01-28 06:22:09 UTC
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s):

https://access.redhat.com/security/cve/cve-2023-22482

Comment 7 Marco Benatto 2023-02-23 13:56:01 UTC
For exploit this issue the attacker needs to use a signed token by OIDC provider, meaning it should have at least some degree of privileges is required to accomplish a successful attack.


Note You need to log in before you can comment on or make changes to this bug.