Helm Charts
Packaged Kubernetes deployments that decide which images run and what they may touch.
About
Helm is the package manager for Kubernetes, and a chart is one of its packages, a set of templates that tell the cluster what to run. Public charts are found through Artifact Hub and fetched from each publisher's own repository. Installing one can start images and create service accounts and permissions across the cluster.
A chart takes effect when it is installed or upgraded, telling the cluster which images to start and what they may touch. Hooks in a chart can also run jobs at install time.
If It Is Malicious
If a Helm chart is malicious, it runs on Kubernetes with whatever roles the chart grants, in every cluster that installs it.
Its code runs inside these technologies.
Examples
These are well-known names from Helm Charts, written as you would meet them in an inventory, an alert or a lockfile, the file that records every version a build installed.
ingress-nginx/ingress-nginx- The ingress controller with the IngressNightmare flaws, retired in March 2026.
jetstack/cert-manager- Issues and renews TLS certificates in a cluster.
prometheus-community/kube-prometheus-stack- Prometheus and Grafana monitoring in one chart.
argo/argo-cd- Deploys apps to a cluster from Git.
How Bad Code Gets In
These are the ways bad code can reach your systems through Helm Charts. None of them needs a flaw in your own code, so outside code needs checking as much as your own.
- A chart grants its workloads far more rights than they need, such as reading every Secret, the objects Kubernetes keeps passwords and keys in.
- A chart pulls its images by tag, so its code can change without the chart changing.
- A flaw in a component the chart installs reaches everything the chart let it touch.
- A chart repository changes hands or moves, and the same name serves something else.
How to Check
These checks show what came from Helm Charts, whether a known bad version is in use, and how to keep one out next time.
- Read the rendered templates with
helm templatebefore installing, especially roles and bindings. - Pin chart versions, and the image digests inside them, in your own values.
- Verify signed charts with
helm verifywhere the publisher provides provenance files. - List what is installed with
helm listacross all namespaces, so an advisory can be matched to clusters.
Well-Known Incidents
Each incident below is a real case, told at the level of its public advisory. The tag says how the bad code got in, and the link opens the primary source.
Vulnerable DependencyCVE-2025-19742025
IngressNightmare
Flaws in the widely used ingress-nginx controller let anything on the cluster's pod network, with no credentials, use its admission webhook to run code inside it.
Reach The controller can read every Secret in the cluster by default, so one reachable flaw could hand over the whole cluster.
Affected
Source: kubernetes.io (opens in a new tab)ingress-nginx
In Common Stacks
These common stacks take code from Helm Charts. Open one to see where that code sits among its layers and who runs each one.