CVE-2025-53547
High · 8.5Helm vulnerable to Code Injection through malicious chart.yaml content
CVSS
8.5
EPSS
0.5%
Published
Jul 8, 2025
CISA due date
—
Cloudanix analysis
A flaw in handling certain chart files can let attackers run their own programs on a computer whenever someone updates software dependencies.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Moderate
- Impact
- Full Compromise
- Component
- Application
- Class
- RCE
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Specially crafted Chart.yaml paired with a maliciously linked Chart.lock enables arbitrary local code execution during dependency update operations.
Why it matters to the business
Compromised developer workstations or CI pipelines can lead to supply-chain attacks, data theft, or further lateral movement with elevated urgency due to the 475 days since publication and rising EPSS trend.
How an attack unfolds
An attacker prepares malicious Chart.yaml and Chart.lock files that abuse the dependency resolution process; when a victim performs a dependency update the crafted files trigger code execution on the local system.
How to fix it
Upgrade affected Thunderbird packages on Debian 11 to version 1:128.12.0esr-1~deb11u1 or later; apply the same update process to any Helm-based tooling that consumes charts.
How to confirm the fix worked
Verify package versions match the fixed releases, re-test dependency updates with known-good charts, and confirm no unexpected binaries or scripts are created during update operations.
Typical attack path
- Prepare malicious Chart.yaml and linked Chart.lock
- Host or deliver the files to a target environment
- Victim executes helm dependency update
- Arbitrary code executes with the privileges of the updating process
How to detect it
Review command-line logs for helm dependency update invocations, inspect recently modified Chart.yaml or Chart.lock files in repositories, and search process execution history for unexpected binaries spawned during chart operations.
What your security team should do
- Immediately upgrade all instances to the listed fixed versions
- Scan build and developer systems for prior execution artifacts
- Restrict chart sources to trusted repositories
- Monitor EPSS trend for continued increase in exploit likelihood
The record
A Helm contributor discovered that a specially crafted `Chart.yaml` file along with a specially linked `Chart.lock` file can lead to local code execution when dependencies are updated.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Go | helm.sh/helm/v3 | 0 | 3.18.4 |
| Go | helm.sh/helm/v3 | 0 | 3.17.4 |
| Go | helm.sh/helm/v3 | 3.18.0-rc.1 | 3.18.4 |
| Bitnami | helm | 0 | 3.18.4 |
| Chainguard | cerbos | 0 | 0.45.1-r1 |
| Chainguard | cerbos-compat | 0 | 0.45.1-r1 |
| Chainguard | cerbos-compat-fips | 0 | 0.45.1-r1 |
| Chainguard | cerbos-fips | 0 | 0.45.1-r1 |
| Chainguard | cerbos-fips-compat | 0 | 0.45.1-r1 |
| Chainguard | cerbosctl | 0 | 0.45.1-r1 |
| Chainguard | cerbosctl-compat | 0 | 0.45.1-r1 |
| Chainguard | cerbosctl-fips | 0 | 0.45.1-r1 |
| Chainguard | cert-manager-1.12 | 0 | 1.12.17-r4 |
| Chainguard | cert-manager-1.12 | 0 | 1.12.17-r10 |
| Chainguard | cert-manager-acmesolver-1.12 | 0 | 1.12.17-r4 |
| Chainguard | cert-manager-acmesolver-1.12 | 0 | 1.12.17-r10 |
| Chainguard | cert-manager-acmesolver-1.12-bitnami-compat | 0 | 1.12.17-r4 |
| Chainguard | cert-manager-acmesolver-1.12-iamguarded-compat | 0 | 1.12.17-r4 |
| Chainguard | cert-manager-acmesolver-1.12-iamguarded-compat | 0 | 1.12.17-r10 |
| Chainguard | cert-manager-acmesolver-fips-1.12 | 0 | 1.12.17-r9 |
| Chainguard | cert-manager-cainjector-1.12 | 0 | 1.12.17-r4 |
| Chainguard | cert-manager-cainjector-1.12-bitnami-compat | 0 | 1.12.17-r4 |
| Chainguard | cert-manager-cainjector-1.12-iamguarded-compat | 0 | 1.12.17-r4 |
| Chainguard | cert-manager-cainjector-fips-1.12 | 0 | 1.12.17-r10 |
| Chainguard | cert-manager-cmctl | 0 | 2.2.0-r2 |
| Chainguard | cert-manager-cmctl-fips | 0 | 2.2.0-r2 |
| Chainguard | cert-manager-controller-1.12 | 0 | 1.12.17-r4 |
| Chainguard | cert-manager-controller-1.12 | 0 | 1.12.17-r10 |
| Chainguard | cert-manager-controller-1.12-bitnami-compat | 0 | 1.12.17-r4 |
| Chainguard | cert-manager-controller-1.12-iamguarded-compat | 0 | 1.12.17-r4 |
| Chainguard | cert-manager-controller-1.12-iamguarded-compat | 0 | 1.12.17-r10 |
| Chainguard | cert-manager-controller-fips-1.12 | 0 | 1.12.17-r9 |
| Chainguard | cert-manager-fips-1.12 | 0 | 1.12.17-r9 |
| Chainguard | cert-manager-webhook-1.12 | 0 | 1.12.17-r4 |
| Chainguard | cert-manager-webhook-1.12 | 0 | 1.12.17-r10 |
| Chainguard | cert-manager-webhook-1.12-bitnami-compat | 0 | 1.12.17-r4 |
| Chainguard | cert-manager-webhook-1.12-iamguarded-compat | 0 | 1.12.17-r4 |
| Chainguard | cert-manager-webhook-fips-1.12 | 0 | 1.12.17-r10 |
| Chainguard | chart-testing | 0 | 3.13.0-r3 |
| Chainguard | chart-testing-fips | 0 | 3.13.0-r3 |
| Chainguard | chartmuseum | 0 | 0.16.3-r3 |
| Chainguard | chartmuseum-fips | 0 | 0.16.3-r2 |
| Chainguard | cilium-cli | 0 | 0.18.5-r1 |
| Chainguard | cloudbeat | 0 | 9.0.3-r2 |
| Chainguard | cloudbeat-fips | 0 | 9.0.3-r2 |
| Chainguard | cluster-api-helm-controller | 0 | 0.4.1-r1 |
| Chainguard | cluster-api-helm-controller-compat | 0 | 0.4.1-r1 |
| Chainguard | cluster-api-helm-controller-fips | 0 | 0 |
| Chainguard | cluster-api-helm-controller-fips-compat | 0 | 0 |
| Chainguard | cmctl-1.12 | 0 | 1.12.17-r4 |
| Chainguard | cmctl-1.12 | 0 | 1.12.17-r10 |
| Chainguard | cmctl-fips-1.12 | 0 | 1.12.17-r9 |
| Chainguard | consul-k8s-1.1 | 0 | 1.1.18-r14 |
| Chainguard | consul-k8s-1.1-cli | 0 | 1.1.18-r14 |
| Chainguard | consul-k8s-1.3 | 0 | 1.3.9-r15 |
| Chainguard | consul-k8s-1.3-cli | 0 | 1.3.9-r15 |
| Chainguard | consul-k8s-1.4 | 0 | 1.4.10-r2 |
| Chainguard | consul-k8s-1.4-cli | 0 | 1.4.10-r2 |
| Chainguard | consul-k8s-1.5 | 0 | 1.5.9-r1 |
| Chainguard | consul-k8s-1.5-cli | 0 | 1.5.9-r1 |
| Chainguard | consul-k8s-1.6 | 0 | 1.6.6-r1 |
| Chainguard | consul-k8s-1.6-cli | 0 | 1.6.6-r1 |
| Chainguard | consul-k8s-1.7 | 0 | 1.7.2-r1 |
| Chainguard | consul-k8s-1.7-cli | 0 | 1.7.2-r1 |
| Chainguard | consul-k8s-fips-1.1 | 0 | 1.1.18-r13 |
| Chainguard | consul-k8s-fips-1.1-cli | 0 | 1.1.18-r13 |
| Chainguard | consul-k8s-fips-1.3 | 0 | 1.3.9-r14 |
| Chainguard | consul-k8s-fips-1.3-cli | 0 | 1.3.9-r14 |
| Chainguard | consul-k8s-fips-1.4 | 0 | 1.4.10-r2 |
| Chainguard | consul-k8s-fips-1.4-cli | 0 | 1.4.10-r2 |
| Chainguard | consul-k8s-fips-1.5 | 0 | 1.5.9-r1 |
| Chainguard | consul-k8s-fips-1.5-cli | 0 | 1.5.9-r1 |
| Chainguard | consul-k8s-fips-1.6 | 0 | 1.6.6-r2 |
| Chainguard | consul-k8s-fips-1.6-cli | 0 | 1.6.6-r2 |
| Chainguard | consul-k8s-fips-1.7 | 0 | 1.7.2-r1 |
| Chainguard | consul-k8s-fips-1.7-cli | 0 | 1.7.2-r1 |
| Chainguard | eksctl | 0 | 0.211.0-r0 |
| Chainguard | envoy-gateway | 0 | 1.4.2-r1 |
| Chainguard | envoy-gateway-compat | 0 | 1.4.2-r1 |
| Chainguard | envoy-gateway-egctl | 0 | 1.4.2-r1 |
| Chainguard | envoy-gateway-fips | 0 | 1.4.2-r0 |
| Chainguard | envoy-gateway-fips-egctl | 0 | 1.4.2-r0 |
| Chainguard | flux-2.6 | 0 | 2.6.4-r1 |
| Chainguard | flux-2.6-compat | 0 | 2.6.4-r1 |
| Chainguard | flux-fips | 0 | 2.6.4-r0 |
| Chainguard | flux-fips-2.5 | 0 | 2.5.1-r8 |
| Chainguard | flux-fips-2.5-compat | 0 | 2.5.1-r8 |
| Chainguard | flux-fips-2.6 | 0 | 2.6.4-r0 |
| Chainguard | flux-fips-2.6-compat | 0 | 2.6.4-r0 |
| Chainguard | flux-fips-compat | 0 | 2.6.4-r0 |
| Chainguard | flux-helm-controller | 0 | 1.3.0-r4 |
| Chainguard | flux-helm-controller-bitnami-compat | 0 | 1.3.0-r4 |
| Chainguard | flux-helm-controller-fips | 0 | 1.3.0-r4 |
| Chainguard | flux-helm-controller-fips-iamguarded-compat | 0 | 1.3.0-r4 |
| Chainguard | flux-helm-controller-iamguarded-compat | 0 | 1.3.0-r4 |
| Chainguard | flux-source-controller | 0 | 1.6.2-r2 |
| Chainguard | flux-source-controller-bitnami-compat | 0 | 1.6.2-r2 |
| Chainguard | flux-source-controller-fips | 0 | 1.6.2-r3 |
| Chainguard | flux-source-controller-fips-iamguarded-compat | 0 | 1.6.2-r3 |
| Chainguard | flux-source-controller-iamguarded-compat | 0 | 1.6.2-r2 |
| Chainguard | fluxcd-source-controller-bitnami-compat | 0 | 1.6.2-r2 |
| Chainguard | gem-check | 0 | 0.0.18-r1 |
| Chainguard | gosh | 0 | 0.0.18-r1 |
| Chainguard | harbor-2.10 | 0 | 2.10.3-r20 |
| Chainguard | harbor-2.10-exporter | 0 | 2.10.3-r20 |
| Chainguard | harbor-2.10-jobservice | 0 | 2.10.3-r20 |
| Chainguard | harbor-2.10-portal | 0 | 2.10.3-r20 |
| Chainguard | harbor-2.10-portal-nginx-config | 0 | 2.10.3-r20 |
| Chainguard | harbor-2.10-redis-compat | 0 | 2.10.3-r20 |
| Chainguard | harbor-2.10-registryctl | 0 | 2.10.3-r20 |
| Chainguard | harbor-2.11 | 0 | 2.11.2-r12 |
| Chainguard | harbor-2.11-exporter | 0 | 2.11.2-r12 |
| Chainguard | harbor-2.11-jobservice | 0 | 2.11.2-r12 |
| Chainguard | harbor-2.11-photon-registry | 0 | 2.11.2-r12 |
| Chainguard | harbor-2.11-portal | 0 | 2.11.2-r12 |
| Chainguard | harbor-2.11-portal-nginx-config | 0 | 2.11.2-r12 |
| Chainguard | harbor-2.11-redis-compat | 0 | 2.11.2-r12 |
| Chainguard | harbor-2.11-registryctl | 0 | 2.11.2-r12 |
| Chainguard | harbor-2.12 | 0 | 2.12.4-r3 |
| Chainguard | harbor-2.12-exporter | 0 | 2.12.4-r3 |
| Chainguard | harbor-2.12-jobservice | 0 | 2.12.4-r3 |
| Chainguard | harbor-2.12-photon-registry | 0 | 2.12.4-r3 |
| Chainguard | harbor-2.12-portal | 0 | 2.12.4-r3 |
| Chainguard | harbor-2.12-portal-nginx-config | 0 | 2.12.4-r3 |
| Chainguard | harbor-2.12-redis-compat | 0 | 2.12.4-r3 |
| Chainguard | harbor-2.12-registryctl | 0 | 2.12.4-r3 |
| Chainguard | harbor-2.13 | 0 | 2.13.1-r4 |
| Chainguard | harbor-2.13-exporter | 0 | 2.13.1-r4 |
| Chainguard | harbor-2.13-jobservice | 0 | 2.13.1-r4 |
| Chainguard | harbor-2.13-photon-registry | 0 | 2.13.1-r4 |
| Chainguard | harbor-2.13-portal | 0 | 2.13.1-r4 |
| Chainguard | harbor-2.13-portal-nginx-config | 0 | 2.13.1-r4 |
| Chainguard | harbor-2.13-redis-compat | 0 | 2.13.1-r4 |
| Chainguard | harbor-2.13-registryctl | 0 | 2.13.1-r4 |
| Chainguard | harbor-fips-2.10 | 0 | 2.10.3-r20 |
| Chainguard | harbor-fips-2.10-db | 0 | 2.10.3-r20 |
| Chainguard | harbor-fips-2.10-exporter | 0 | 2.10.3-r20 |
| Chainguard | harbor-fips-2.10-jobservice | 0 | 2.10.3-r20 |
| Chainguard | harbor-fips-2.10-portal | 0 | 2.10.3-r20 |
| Chainguard | harbor-fips-2.10-redis-compat | 0 | 2.10.3-r20 |
| Chainguard | harbor-fips-2.10-registryctl | 0 | 2.10.3-r20 |
| Chainguard | harbor-fips-2.11 | 0 | 2.11.2-r15 |
| Chainguard | harbor-fips-2.11-db | 0 | 2.11.2-r15 |
| Chainguard | harbor-fips-2.11-exporter | 0 | 2.11.2-r15 |
| Chainguard | harbor-fips-2.11-jobservice | 0 | 2.11.2-r15 |
| Chainguard | harbor-fips-2.11-photon-registry | 0 | 2.11.2-r15 |
| Chainguard | harbor-fips-2.11-portal | 0 | 2.11.2-r15 |
| Chainguard | harbor-fips-2.11-redis-compat | 0 | 2.11.2-r15 |
| Chainguard | harbor-fips-2.11-registryctl | 0 | 2.11.2-r15 |
| Chainguard | harbor-fips-2.12 | 0 | 2.12.4-r3 |
| Chainguard | harbor-fips-2.12-db | 0 | 2.12.4-r3 |
| Chainguard | harbor-fips-2.12-exporter | 0 | 2.12.4-r3 |
| Chainguard | harbor-fips-2.12-jobservice | 0 | 2.12.4-r3 |
| Chainguard | harbor-fips-2.12-photon-registry | 0 | 2.12.4-r3 |
| Chainguard | harbor-fips-2.12-portal | 0 | 2.12.4-r3 |
| Chainguard | harbor-fips-2.12-redis-compat | 0 | 2.12.4-r3 |
| Chainguard | harbor-fips-2.12-registryctl | 0 | 2.12.4-r3 |
| Chainguard | harbor-fips-2.13 | 0 | 2.13.1-r4 |
| Chainguard | harbor-fips-2.13-db | 0 | 2.13.1-r4 |
| Chainguard | harbor-fips-2.13-exporter | 0 | 2.13.1-r4 |
| Chainguard | harbor-fips-2.13-jobservice | 0 | 2.13.1-r4 |
| Chainguard | harbor-fips-2.13-photon-registry | 0 | 2.13.1-r4 |
| Chainguard | harbor-fips-2.13-portal | 0 | 2.13.1-r4 |
| Chainguard | harbor-fips-2.13-redis-compat | 0 | 2.13.1-r4 |
| Chainguard | harbor-fips-2.13-registryctl | 0 | 2.13.1-r4 |
| Chainguard | header-check | 0 | 0.0.18-r1 |
| Chainguard | helm-docs | 0 | 1.14.2-r10 |
| Chainguard | helm-operator | 0 | 1.41.1-r0 |
| Chainguard | helm-operator-compat | 0 | 1.41.1-r0 |
| Chainguard | helm-operator-fips | 0 | 1.41.1-r0 |
| Chainguard | helm-operator-fips-compat | 0 | 1.41.1-r0 |
| Chainguard | helm-push | 0 | 0.10.4-r30 |
| Chainguard | help-check | 0 | 0.0.18-r1 |
| Chainguard | istio-1.23 | 0 | 1.23.6-r3 |
| Chainguard | istio-1.24 | 0 | 1.24.6-r3 |
| Chainguard | istio-1.25 | 0 | 1.25.3-r3 |
| Chainguard | istio-1.26 | 0 | 1.26.2-r1 |
| Chainguard | istio-cni-1.23 | 0 | 1.23.6-r3 |
| Chainguard | istio-cni-1.23-compat | 0 | 1.23.6-r3 |
| Chainguard | istio-cni-1.24 | 0 | 1.24.6-r3 |
| Chainguard | istio-cni-1.24-compat | 0 | 1.24.6-r3 |
| Chainguard | istio-cni-1.25 | 0 | 1.25.3-r3 |
| Chainguard | istio-cni-1.25-compat | 0 | 1.25.3-r3 |
| Chainguard | istio-cni-1.26 | 0 | 1.26.2-r1 |
| Chainguard | istio-cni-1.26-compat | 0 | 1.26.2-r1 |
| Chainguard | istio-cni-fips-1.23 | 0 | 1.23.6-r5 |
| Chainguard | istio-cni-fips-1.23-compat | 0 | 1.23.6-r5 |
| Chainguard | istio-fips-1.23 | 0 | 1.23.6-r5 |
| Chainguard | istio-install-cni-1.23 | 0 | 1.23.6-r3 |
| Chainguard | istio-install-cni-1.23-compat | 0 | 1.23.6-r3 |
| Chainguard | istio-install-cni-1.24 | 0 | 1.24.6-r3 |
| Chainguard | istio-install-cni-1.24-compat | 0 | 1.24.6-r3 |
| Chainguard | istio-install-cni-1.25 | 0 | 1.25.3-r3 |
| Chainguard | istio-install-cni-1.25-compat | 0 | 1.25.3-r3 |
| Chainguard | istio-install-cni-1.26 | 0 | 1.26.2-r1 |
| Chainguard | istio-install-cni-1.26-compat | 0 | 1.26.2-r1 |
| Chainguard | istio-install-cni-fips-1.23 | 0 | 1.23.6-r5 |
| Chainguard | istio-install-cni-fips-1.23-compat | 0 | 1.23.6-r5 |
| Chainguard | istio-operator-1.23 | 0 | 1.23.6-r3 |
| Chainguard | istio-operator-fips-1.23 | 0 | 1.23.6-r5 |
Related vulnerabilities
- CVE-2025-55198 Helm May Panic Due To Incorrect YAML Content Also affects helm.sh/helm/v3
- CVE-2025-55199 Helm Charts with Specific JSON Schema Values Can Cause Memory Exhaustion Also affects helm.sh/helm/v3
- CVE-2025-32386 Helm Allows A Specially Crafted Chart Archive To Cause Out Of Memory Termination Also affects helm.sh/helm/v3
- CVE-2025-32387 Helm Allows A Specially Crafted JSON Schema To Cause A Stack Overflow Also affects helm.sh/helm/v3
- CVE-2026-34986 Go JOSE provides an implementation of the Javascript Object Signing and Encryption set of… Also affects cerbos
- CVE-2026-34165 go-git is an extensible git implementation library written in pure Go. Also affects cerbos
- CVE-2026-33762 go-git is an extensible git implementation library written in pure Go. Also affects cerbos
- CVE-2026-1229 The CombinedMult function in the CIRCL ecc/p384 package (secp384r1 curve) produces an… Also affects cerbos