Skip to content

Path traversal allows leaking out-of-bound Helm charts from Argo CD repo-server

Moderate
crenshaw-dev published GHSA-6jqw-jwf5-rp8h Sep 27, 2023

Package

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

Affected versions

<2.3

Patched versions

2.3

Description

Impact

In Argo CD versions prior to 2.3 (starting at least in v0.1.0, but likely in any version using Helm before 2.3), using a specifically-crafted Helm file could reference external Helm charts handled by the same repo-server to leak values, or files from the referenced Helm Chart. This was possible because Helm paths were predictable.

The vulnerability worked by adding a Helm chart that referenced Helm resources from predictable paths. Because the paths of Helm charts were predictable and available on an instance of repo-server, it was possible to reference and then render the values and resources from other existing Helm charts regardless of permissions. While generally, secrets are not stored in these files, it was nevertheless possible to reference any values from these charts.

Patches

This issue was fixed in Argo CD 2.3 and subsequent versions by randomizing Helm paths.

Workarounds

User's still using Argo CD 2.3 or below are advised to update to a supported version. If this is not possible, disabling Helm chart rendering, or using an additional repo-server for each Helm chart would prevent possible exploitation.

References

GHSA-63qx-x74g-jcr7

For more information

If you have any questions or comments about this advisory:

Severity

Moderate
5.0
/ 10

CVSS base metrics

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

CVE ID

CVE-2023-40026

Weaknesses

Credits