{"id":"CVE-2020-15185","aliases":["BIT-helm-2020-15185","EUVD-2021-1119","GHSA-jm56-5h66-w453","SUSE-SU-2020:3760-1"],"status":"published","title":"Duplicated chart entries in Helm","description":"In Helm before versions 2.16.11 and 3.3.2, a Helm repository can contain duplicates of the same chart, with the last one always used. If a repository is compromised, this lowers the level of access that an attacker needs to inject a bad chart into a repository. To perform this attack, an attacker must have write access to the index file (which can occur during a MITM attack on a non-SSL connection). This issue has been patched in Helm 3.3.2 and 2.16.11. A possible workaround is to manually review the index file in the Helm repository cache before installing software.","severity":{"version":"3.1","score":2.2,"vector":"CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:L/A:N","level":"low","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00883,"percentile":0.595,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-20","CWE-694","CWE-74"],"published":"2020-09-17T21:30:13Z","modified":"2026-10-20T10:51:52Z","fixes":[{"ecosystem":"Go","package":"helm.sh/helm/v3","fixed_in":["3.3.2"],"sources":["ghsa","osv"]},{"ecosystem":"Go","package":"helm.sh/helm","fixed_in":["2.16.11"],"sources":["ghsa","osv"]},{"ecosystem":"Bitnami","package":"helm","fixed_in":["2.16.11","3.3.2"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Go","package":"helm.sh/helm/v3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.0.0"},{"fixed":"3.3.2"}]}]},{"source":"ghsa","ecosystem":"Go","package":"helm.sh/helm","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.16.11"}]}]},{"source":"osv","ecosystem":"Bitnami","package":"helm","ranges":[{"type":"SEMVER","events":[{"introduced":"2.0.0"},{"fixed":"2.16.11"},{"introduced":"3.0.0"},{"fixed":"3.3.2"}]}]},{"source":"osv","ecosystem":"Go","package":"helm.sh/helm/v3","ranges":[{"type":"SEMVER","events":[{"introduced":"3.0.0"},{"fixed":"3.3.2"}]}]},{"source":"osv","ecosystem":"Go","package":"helm.sh/helm","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"2.16.11"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Containers 15 SP1","package":"kubernetes","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.17.13-4.21.2"}]}],"bundled":8}],"products":[{"vendor":"helm","product":"helm"}],"references":[{"url":"https://github.com/helm/helm/security/advisories/GHSA-jm56-5h66-w453","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://github.com/helm/helm/commit/055dd41cbe53ce131ab0357524a7f6729e6e40dc","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","advisory","fix","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-15185","tags":["web","advisory"]},{"url":"https://github.com/helm/helm/commit/6aab63765f99050b115f0aec3d6350c85e8da946","tags":["web"]},{"url":"https://github.com/advisories/GHSA-jm56-5h66-w453"},{"url":"https://www.suse.com/support/update/announcement/2020/suse-su-20203760-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1174219","tags":["report"]},{"url":"https://bugzilla.suse.com/1174951","tags":["report"]},{"url":"https://bugzilla.suse.com/1176752","tags":["report"]},{"url":"https://bugzilla.suse.com/1176753","tags":["report"]},{"url":"https://bugzilla.suse.com/1176754","tags":["report"]},{"url":"https://bugzilla.suse.com/1176755","tags":["report"]},{"url":"https://bugzilla.suse.com/1177661","tags":["report"]},{"url":"https://bugzilla.suse.com/1177662","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2020-15106","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-15112","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-15184","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-15185","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-15186","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-15187","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-8565","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-8566","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2020-15185","title":"Duplicated chart entries in Helm","description":"In Helm before versions 2.16.11 and 3.3.2, a Helm repository can contain duplicates of the same chart, with the last one always used. If a repository is compromised, this lowers the level of access that an attacker needs to inject a bad chart into a repository. To perform this attack, an attacker must have write access to the index file (which can occur during a MITM attack on a non-SSL connection). This issue has been patched in Helm 3.3.2 and 2.16.11. A possible workaround is to manually review the index file in the Helm repository cache before installing software.","status":"published","published":"2020-09-17T21:30:13Z","modified":"2024-08-04T13:08:22.474Z","cvss":[{"version":"3.1","score":2.2,"vector":"CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:L/A:N","level":"low","assessor":"cna"}],"cwes":["CWE-694","CWE-74"],"updated_at":"2026-11-02T14:35:49.879248Z"}],"euvd":[{"id":"EUVD-2021-1119","description":"In Helm before versions 2.16.11 and 3.3.2, a Helm repository can contain duplicates of the same chart, with the last one always used. If a repository is compromised, this lowers the level of access that an attacker needs to inject a bad chart into a repository. To perform this attack, an attacker must have write access to the index file (which can occur during a MITM attack on a non-SSL connection). This issue has been patched in Helm 3.3.2 and 2.16.11. A possible workaround is to manually review the index file in the Helm repository cache before installing software.","status":"published","published":"2020-09-17T21:30:13Z","modified":"2024-08-04T13:08:22Z","cvss":[{"version":"3.1","score":2.2,"vector":"CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:L/A:N","level":"low"}],"updated_at":"2026-11-03T03:07:32.55679Z"}],"ghsa":[{"id":"GHSA-jm56-5h66-w453","title":"Repository index file allows for duplicates of the same chart entry in helm","description":"### Impact\n\nDuring a security audit of Helm's code base, security researchers at Trail of Bits identified a bug in which the a Helm repository can contain duplicates of the same chart, with the last one always used. If a repository is compromised, this lowers the level of access that an attacker needs to inject a bad chart into a repository.\n\nTo perform this attack, an attacker must have write access to the index file (which can occur during a MITM attack on a non-SSL connection).\n\n### Specific Go Packages Affected\nhelm.sh/helm/v3/pkg/repo\n\n### Patches\n\nThis issue has been patched in Helm 3.3.2 and 2.16.11\n\n### Workarounds\n\n- do not install charts from repositories you do not trust\n- fetch charts using a secure channel of communication (such as TLS)\n- use `helm pull` to fetch the chart, then review the chart’s content (either manually, or with `helm verify` if it has been signed) to ensure it has not been tampered with\n- manually review the index file in the Helm repository cache before installing software.","status":"published","published":"2021-05-24T16:57:06Z","modified":"2023-10-02T13:35:52Z","cvss":[{"version":"3.1","score":2.2,"vector":"CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:L/A:N","level":"low"}],"cwes":["CWE-20","CWE-74","CWE-694"],"updated_at":"2026-11-02T14:37:07.641671Z"}],"nvd":[{"id":"CVE-2020-15185","description":"In Helm before versions 2.16.11 and 3.3.2, a Helm repository can contain duplicates of the same chart, with the last one always used. If a repository is compromised, this lowers the level of access that an attacker needs to inject a bad chart into a repository. To perform this attack, an attacker must have write access to the index file (which can occur during a MITM attack on a non-SSL connection). This issue has been patched in Helm 3.3.2 and 2.16.11. A possible workaround is to manually review the index file in the Helm repository cache before installing software.","status":"published","published":"2020-09-17T22:15:12.443Z","modified":"2026-06-17T02:56:13.187Z","cvss":[{"version":"3.1","score":2.2,"vector":"CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:L/A:N","level":"low","assessor":"secondary"},{"version":"3.1","score":2.7,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:N","level":"low","assessor":"primary"},{"version":"2.0","score":4,"vector":"AV:N/AC:L/Au:S/C:N/I:P/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-74","CWE-694"],"updated_at":"2026-11-02T14:06:15.83396Z"}],"osv":[{"id":"CVE-2020-15185","description":"In Helm before versions 2.16.11 and 3.3.2, a Helm repository can contain duplicates of the same chart, with the last one always used. If a repository is compromised, this lowers the level of access that an attacker needs to inject a bad chart into a repository. To perform this attack, an attacker must have write access to the index file (which can occur during a MITM attack on a non-SSL connection). This issue has been patched in Helm 3.3.2 and 2.16.11. A possible workaround is to manually review the index file in the Helm repository cache before installing software.","status":"published","published":"2020-09-17T22:15:12.443Z","modified":"2026-10-20T10:51:52.63713181Z","cvss":[{"version":"3.1","score":2.7,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:N","level":"low"}],"updated_at":"2026-11-02T15:44:14.828228Z"},{"id":"GHSA-jm56-5h66-w453","title":"Repository index file allows for duplicates of the same chart entry in helm","description":"### Impact\n\nDuring a security audit of Helm's code base, security researchers at Trail of Bits identified a bug in which the a Helm repository can contain duplicates of the same chart, with the last one always used. If a repository is compromised, this lowers the level of access that an attacker needs to inject a bad chart into a repository.\n\nTo perform this attack, an attacker must have write access to the index file (which can occur during a MITM attack on a non-SSL connection).\n\n### Specific Go Packages Affected\nhelm.sh/helm/v3/pkg/repo\n\n### Patches\n\nThis issue has been patched in Helm 3.3.2 and 2.16.11\n\n### Workarounds\n\n- do not install charts from repositories you do not trust\n- fetch charts using a secure channel of communication (such as TLS)\n- use `helm pull` to fetch the chart, then review the chart’s content (either manually, or with `helm verify` if it has been signed) to ensure it has not been tampered with\n- manually review the index file in the Helm repository cache before installing software.","status":"published","published":"2021-05-24T16:57:06Z","modified":"2026-07-08T06:27:39.471417012Z","cvss":[{"version":"3.1","score":2.2,"vector":"CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:L/A:N","level":"low"}],"cwes":["CWE-20","CWE-694","CWE-74"],"updated_at":"2026-11-02T15:46:50.687609Z"},{"id":"BIT-helm-2020-15185","title":"Duplicated chart entries in Helm","description":"In Helm before versions 2.16.11 and 3.3.2, a Helm repository can contain duplicates of the same chart, with the last one always used. If a repository is compromised, this lowers the level of access that an attacker needs to inject a bad chart into a repository. To perform this attack, an attacker must have write access to the index file (which can occur during a MITM attack on a non-SSL connection). This issue has been patched in Helm 3.3.2 and 2.16.11. A possible workaround is to manually review the index file in the Helm repository cache before installing software.","status":"published","published":"2024-03-06T10:55:08.169Z","modified":"2026-09-08T08:48:23.032900004Z","updated_at":"2026-11-02T15:28:31.02759Z"},{"id":"SUSE-SU-2020:3760-1","title":"Security changes in Kubernetes, etcd, and helm; Bugfix in cri-o package","description":" = Required Actions\n\n== Kubernetes \u0026 etcd (Security fixes)\n\nThis fix involves an upgrade of Kubernetes and some add-ons. See https://documentation.suse.com/suse-caasp/4.2/html/caasp-admin/_cluster_updates.html#_updating_kubernetes_components for the upgrade procedure.\n   \n== Skuba \u0026 helm/helm3\n\nIn order to update skuba and helm or helm 3, you need to update the management workstation. See detailed instructions at https://documentation.suse.com/suse-caasp/4.2/html/caasp-admin/_cluster_updates.html#_update_management_workstation\n\n= Known Issues\n\nModifying the file `/etc/sysconfig/kubelet` directly is not supported: documentation at https://documentation.suse.com/suse-caasp/4.2/html/caasp-admin/_miscellaneous.html#_configuring_kubelet\n\nBe sure to check the Release Notes at https://www.suse.com/releasenotes/x86_64/SUSE-CAASP/4/#_changes_in_4_2_4 for any additional known issues or behavioral changes.","status":"published","published":"2020-12-23T08:18:56Z","modified":"2026-02-04T02:46:33.165107Z","updated_at":"2026-11-02T15:53:48.690034Z"}]}}
