[ZBX-22806] Helm chart has stale kube-state-metrics dependency Created: 2023 May 15  Updated: 2024 Apr 10  Resolved: 2023 Jun 09

Status: Closed
Project: ZABBIX BUGS AND ISSUES
Component/s: Packages (C)
Affects Version/s: None
Fix Version/s: 6.0.19rc1, 6.4.4rc1, 7.0.0alpha2, 7.0 (plan)

Type: Problem report Priority: Trivial
Reporter: Andrew Boling Assignee: Denis Rasikhov
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Team: Team INT
Sprint: Sprint 101 (Jun 2023)
Story Points: 0.25

 Description   

Zabbix's helm charts have a hardcoded dependency on kube-state-metrics 2.2.0 (chart version 3.5.*), which was built on 8/24/2021. It is currently being flagged with 25 OS vulnerabilities by my employer's vulnerability scanning software.

The 3.5 version series of the kube-state-metrics helm chart does not appear to be receiving further updates and the dependency needs to be updated on the Zabbix side. Please certify a newer version of the kube-state-metrics for usage with the Zabbix helm chart.

Here is the dependency as is it is recorded in https://git.zabbix.com/projects/ZT/repos/kubernetes-helm/browse/Chart.yaml:

- name: kube-state-metrics
  version: "3.5.*"
  repository: https://prometheus-community.github.io/helm-charts
  condition: kubeStateMetrics.enabled

Please note that this 3.5.* dependency appears in several branches of the Zabbix git repo (master, 6.4, 6.2, 6.0), as well as Zabbix's [individually versioned helm repos|https://cdn.zabbix.com/zabbix/integrations/kubernetes-helm/.] All of these will need to be updated.

 



 Comments   
Comment by Andrew Boling [ 2023 May 15 ]

List of upstream version candidates:

 

$ helm repo list
NAME            URL
zabbix_6.0      https://cdn.zabbix.com/zabbix/integrations/kubernetes-helm/6.0
prometheus      https://prometheus-community.github.io/helm-charts

$ helm search repo -l prometheus/kube-state-metrics
NAME                            CHART VERSION   APP VERSION     DESCRIPTION
prometheus/kube-state-metrics   5.6.2           2.8.2           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   5.6.1           2.8.2           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   5.6.0           2.8.2           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   5.5.0           2.8.2           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   5.4.2           2.8.2           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   5.4.1           2.8.2           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   5.4.0           2.8.2           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   5.3.0           2.8.2           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   5.2.0           2.8.2           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   5.1.0           2.8.2           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   5.0.1           2.8.2           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   5.0.0           2.8.1           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.32.0          2.8.1           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.31.0          2.8.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.30.0          2.8.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.29.0          2.7.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.28.0          2.7.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.27.0          2.7.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.26.0          2.7.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.25.0          2.7.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.24.0          2.7.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.23.0          2.6.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.22.3          2.6.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.22.2          2.6.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.22.1          2.6.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.22.0          2.6.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.21.1          2.6.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.21.0          2.6.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.20.3          2.6.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.20.2          2.6.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.20.1          2.6.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.20.0          2.6.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.19.0          2.6.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.18.0          2.6.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.17.0          2.5.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.16.0          2.5.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.15.0          2.5.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.14.0          2.5.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.13.0          2.5.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.12.0          2.5.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.11.0          2.5.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.10.0          2.5.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.9.3           2.5.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.9.2           2.5.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.9.1           2.5.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.9.0           2.5.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.8.1           2.5.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.8.0           2.5.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.7.0           2.4.1           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.6.0           2.3.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.5.0           2.3.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.4.3           2.3.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.4.2           2.3.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.4.1           2.3.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.4.0           2.3.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.3.0           2.3.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.2.2           2.3.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.2.1           2.3.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.2.0           2.3.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.1.2           2.2.4           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.1.1           2.2.4           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.1.0           2.2.4           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.0.2           2.2.4           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.0.1           2.2.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   4.0.0           2.2.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   3.5.2           2.2.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   3.5.1           2.2.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   3.5.0           2.2.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   3.4.2           2.1.1           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   3.4.1           2.1.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   3.4.0           2.1.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   3.3.1           2.0.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   3.3.0           2.0.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   3.2.2           2.0.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   3.2.1           2.0.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   3.2.0           2.0.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   3.1.1           2.0.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   3.1.0           2.0.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   3.0.2           2.0.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   3.0.1           2.0.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   3.0.0           2.0.0           Install kube-state-metrics to generate and expo...
prometheus/kube-state-metrics   2.13.2          1.9.8           Install kube-state-metrics to generate and expo...

Comment by Andrew Boling [ 2023 May 31 ]

Can the Zabbix team please certify a newer version? The main barrier for users at this point is the lack of a documented version that users can manually upgrade to. The Helm charts can be updated later.

To encourage action, I am including a list of CVEs that apply to this ticket.

 

CVE Description
CVE-2021-29923 Go before 1.17 does not properly consider extraneous zero characters at the beginning of an IP address octet, which (in some situations) allows attackers to bypass access control that is based on IP addresses, because of unexpected octal interpretation. This affects net.ParseIP and net.ParseCIDR.
CVE-2021-38297 Go before 1.16.9 and 1.17.x before 1.17.2 has a Buffer Overflow via large arguments in a function invocation from a WASM module, when GOARCH=wasm GOOS=js is used.
CVE-2021-41771 ImportedSymbols in debug/macho (for Open or OpenFat) in Go before 1.16.10 and 1.17.x before 1.17.3 Accesses a Memory Location After the End of a Buffer, aka an out-of-bounds slice situation.
CVE-2021-41772 Go before 1.16.10 and 1.17.x before 1.17.3 allows an archive/zip Reader.Open panic via a crafted ZIP archive containing an invalid name or an empty filename field.
CVE-2021-44716 net/http in Go before 1.16.12 and 1.17.x before 1.17.5 allows uncontrolled memory consumption in the header canonicalization cache via HTTP/2 requests.
CVE-2021-39293 In archive/zip in Go before 1.16.8 and 1.17.x before 1.17.1, a crafted archive header (falsely designating that many files are present) can cause a NewReader or OpenReader panic. NOTE: this issue exists because of an incomplete fix for CVE-2021-33196.
CVE-2022-23772 Rat.SetString in math/big in Go before 1.16.14 and 1.17.x before 1.17.7 has an overflow that can lead to Uncontrolled Memory Consumption.
CVE-2022-23773 cmd/go in Go before 1.16.14 and 1.17.x before 1.17.7 can misinterpret branch names that falsely appear to be version tags. This can lead to incorrect access control if an actor is supposed to be able to create branches but not tags.
CVE-2022-23806 Curve.IsOnCurve in crypto/elliptic in Go before 1.16.14 and 1.17.x before 1.17.7 can incorrectly return true in situations with a big.Int value that is not a valid field element.
CVE-2022-24921 regexp.Compile in Go before 1.16.15 and 1.17.x before 1.17.8 allows stack exhaustion via a deeply nested expression.
CVE-2022-24675 encoding/pem in Go before 1.17.9 and 1.18.x before 1.18.1 has a Decode stack overflow via a large amount of PEM data.
CVE-2022-28327 The generic P-256 feature in crypto/elliptic in Go before 1.17.9 and 1.18.x before 1.18.1 allows a panic via long scalar input.
CVE-2022-28131 Uncontrolled recursion in Decoder.Skip in encoding/xml before Go 1.17.12 and Go 1.18.4 allows an attacker to cause a panic due to stack exhaustion via a deeply nested XML document.
CVE-2022-30580 Code injection in Cmd.Start in os/exec before Go 1.17.11 and Go 1.18.3 allows execution of any binaries in the working directory named either \"..com\" or \"..exe\" by calling Cmd.Run, Cmd.Start, Cmd.Output, or Cmd.CombinedOutput when Cmd.Path is unset.
CVE-2022-30630 Uncontrolled recursion in Glob in io/fs before Go 1.17.12 and Go 1.18.4 allows an attacker to cause a panic due to stack exhaustion via a path which contains a large number of path separators.
CVE-2022-30631 Uncontrolled recursion in Reader.Read in compress/gzip before Go 1.17.12 and Go 1.18.4 allows an attacker to cause a panic due to stack exhaustion via an archive containing a large number of concatenated 0-length compressed files.
CVE-2022-30632 Uncontrolled recursion in Glob in path/filepath before Go 1.17.12 and Go 1.18.4 allows an attacker to cause a panic due to stack exhaustion via a path containing a large number of path separators.
CVE-2022-30633 Uncontrolled recursion in Unmarshal in encoding/xml before Go 1.17.12 and Go 1.18.4 allows an attacker to cause a panic due to stack exhaustion via unmarshalling an XML document into a Go struct which has a nested field that uses the \'any\' field tag.
CVE-2022-30635 Uncontrolled recursion in Decoder.Decode in encoding/gob before Go 1.17.12 and Go 1.18.4 allows an attacker to cause a panic due to stack exhaustion via a message which contains deeply nested structures.
CVE-2022-32189 A too-short encoded message can cause a panic in Float.GobDecode and Rat GobDecode in math/big in Go before 1.17.13 and 1.18.5, potentially allowing a denial of service.
CVE-2022-27664 In net/http in Go before 1.18.6 and 1.19.x before 1.19.1, attackers can cause a denial of service because an HTTP/2 connection can hang during closing if shutdown were preempted by a fatal error.
CVE-2022-2879 Reader.Read does not set a limit on the maximum size of file headers. A maliciously crafted archive could cause Read to allocate unbounded amounts of memory, potentially causing resource exhaustion or panics. After fix, Reader.Read limits the maximum size of header blocks to 1 MiB.
CVE-2022-2880 Requests forwarded by ReverseProxy include the raw query parameters from the inbound request, including unparseable parameters rejected by net/http. This could permit query parameter smuggling when a Go proxy forwards a parameter with an unparseable value. After fix, ReverseProxy sanitizes the query parameters in the forwarded query when the outbound request\'s Form field is set after the ReverseProxy. Director function returns, indicating that the proxy has parsed the query parameters. Proxies which do not parse query parameters continue to forward the original query parameters unchanged.
CVE-2022-41715 Programs which compile regular expressions from untrusted sources may be vulnerable to memory exhaustion or denial of service. The parsed regexp representation is linear in the size of the input, but in some cases the constant factor can be as high as 40,000, making relatively small regexps consume much larger amounts of memory. After fix, each regexp being parsed is limited to a 256 MB memory footprint. Regular expressions whose representation would use more space than that are rejected. Normal use of regular expressions is unaffected.
CVE-2022-41716 Due to unsanitized NUL values, attackers may be able to maliciously set environment variables on Windows. In syscall.StartProcess and os/exec.Cmd, invalid environment variable values containing NUL values are not properly checked for. A malicious environment variable value can exploit this behavior to set a value for a different environment variable. For example, the environment variable string \"A=B\\x00C=D\" sets the variables \"A=B\" and \"C=D\".
Comment by Denis Rasikhov [ 2023 Jun 07 ]

Updated in:

Generated at Thu May 22 07:13:59 EEST 2025 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.