CVE-2024-52284: Rancher Fleet Helm Values are stored inside BundleDeployment in plain text
7.7
Basic Information
Technical Details
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
github.com/rancher/fleet | go | >= 0.13.0, < 0.13.1-0.20250806151509-088bcbea7edb | 0.13.1-0.20250806151509-088bcbea7edb |
github.com/rancher/fleet | go | >= 0.12.0, < 0.12.6 | 0.12.6 |
github.com/rancher/fleet | go | >= 0.11.0, < 0.11.10 | 0.11.10 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability, GHSA-6h9x-9j5v-7w9h, describes a scenario where sensitive Helm values are stored in plaintext within Fleet's BundleDeployment
custom resources. This is because the mechanism for excluding these values files when creating a bundle was flawed.
The analysis of the provided patch, commit 088bcbea7edb844d7e6fc3649d9954f763cf68a9
, points directly to the internal/bundlereader/resources.go
file. The core of the issue lies in the ignoreApplyConfigs
function. Before the patch, this function would only add the literal file paths from the valuesFiles
directive to the ignore list. However, depending on how the fleet.yaml
was structured, the file system could be traversed in a way that the path being checked for exclusion did not exactly match what was in the ignore list (e.g., checking values.yaml
against an ignore list containing chart/values.yaml
).
The patch rectifies this by adding both the original path and the base name of the file (e.g., values.yaml
) to the ignore list, ensuring the file is excluded regardless of how it's referenced during processing. The ignoreApplyConfigs
function is therefore the direct source of the vulnerability.
The Loadpaths
function is the immediate caller of ignoreApplyConfigs
and is responsible for using the generated ignore list to filter resources. As the primary exported function in this workflow, it serves as a key runtime indicator for the vulnerable operation. When fleet apply
is executed, this function is called to construct the bundle, and its incorrect filtering leads to the inclusion of sensitive data. Therefore, both functions are identified as critical to the vulnerability.
Vulnerable functions
github.com/rancher/fleet/internal/bundlereader.ignoreApplyConfigs
internal/bundlereader/resources.go
github.com/rancher/fleet/internal/bundlereader.Loadpaths
internal/bundlereader/resources.go