CVE-2023-40026: Path traversal allows leaking out-of-bound Helm charts from Argo CD repo-server
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 https://github.com/argoproj/argo-cd/security/advisories/GHSA-63qx-x74g-jcr7
For more information If you have any questions or comments about this advisory: Open an issue in example link to repo Email us at example email address
Other sources
Argo CD is a declarative continuous deployment framework for Kubernetes. 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. This issue was fixed in Argo CD 2.3 and subsequent versions by randomizing Helm paths. 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.
— MITRE
Affected Software
Event History
Frequently Asked Questions
What is the impact of CVE-2023-40026?
Using a specifically-crafted Helm file could leak values or files from the referenced Helm Chart.
Which versions of Argo CD are affected by CVE-2023-40026?
Argo CD versions prior to 2.3 (starting at least in v0.1.0 but likely in any version using Helm before 2.3) are affected.
How can CVE-2023-40026 be exploited?
CVE-2023-40026 can be exploited by using a specially crafted Helm file that references external Helm charts handled by the same repo-server.
What is the severity of CVE-2023-40026?
CVE-2023-40026 has a severity level of medium.
How can I fix CVE-2023-40026?
To fix CVE-2023-40026, upgrade Argo CD to version 2.3.0 or later.