Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/vulndb: potential Go vuln in github.com/argoproj/argo-cd: CVE-2023-40026 #2086

Closed
GoVulnBot opened this issue Sep 27, 2023 · 3 comments
Assignees

Comments

@GoVulnBot
Copy link

CVE-2023-40026 references github.com/argoproj/argo-cd, which may be a Go module.

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.

References:

Cross references:

See doc/triage.md for instructions on how to triage this report.

modules:
    - module: github.com/argoproj/argo-cd
      vulnerable_at: 1.8.6
      packages:
        - package: argo-cd
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.
cves:
    - CVE-2023-40026
references:
    - advisory: https://github.com/argoproj/argo-cd/security/advisories/GHSA-6jqw-jwf5-rp8h
    - web: https://argo-cd.readthedocs.io/en/stable/operator-manual/installation/#supported-versions

@jba jba self-assigned this Oct 2, 2023
@jba
Copy link
Contributor

jba commented Oct 2, 2023

Vulnerability in tool.

@jba jba added the excluded: EFFECTIVELY_PRIVATE This vulnerability exists in a package can be imported, but isn't meant to be outside that module. label Oct 2, 2023
@gopherbot
Copy link
Contributor

Change https://go.dev/cl/531705 mentions this issue: data/excluded: batch add 18 excluded reports

@jba
Copy link
Contributor

jba commented Oct 2, 2023

Duplicate of #2085

@jba jba marked this as a duplicate of #2085 Oct 2, 2023
@jba jba closed this as completed Oct 2, 2023
@jba jba added duplicate and removed excluded: EFFECTIVELY_PRIVATE This vulnerability exists in a package can be imported, but isn't meant to be outside that module. labels Oct 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants