client_golang is the instrumentation library for Go applications in Prometheus, and the promhttp package in client_golang provides tooling around HTTP servers and clients. In client_golang prior to version 1.11.1, HTTP server is susceptible to a Denial of Service through unbounded cardinality, and potential memory exhaustion, when handling requests with non-standard HTTP methods. In order to be affected, an instrumented software must use any of `promhttp.InstrumentHandler*` middleware except `RequestsInFlight`; not filter any specific methods (e.g GET) before middleware; pass metric with `method` label name to our middleware; and not have any firewall/LB/proxy that filters away requests with unknown `method`. client_golang version 1.11.1 contains a patch for this issue. Several workarounds are available, including removing the `method` label name from counter/gauge used in the InstrumentHandler; turning off affected promhttp handlers; adding custom middleware before promhttp handler that will sanitize the request method given by Go http.Request; and using a reverse proxy or web application firewall, configured to only allow a limited set of methods.
CVSS Details
- CVSS 3.1 Base Score: 7.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade buildahUpgrade python3-criuUpgrade buildah-testsUpgrade criu-libsUpgrade podman-remoteUpgrade fuse-overlayfsUpgrade runcUpgrade libslirp-develUpgrade oci-seccomp-bpf-hookUpgrade containers-commonUpgrade container-selinuxUpgrade podmanUpgrade containernetworking-pluginsUpgrade podman-catatonitUpgrade grafanaUpgrade aardvark-dnsUpgrade critUpgrade criuUpgrade criu-develUpgrade skopeoUpgrade podman-pluginsUpgrade crunUpgrade conmonUpgrade toolbox-testsUpgrade python3-podmanUpgrade podman-dockerUpgrade netavarkUpgrade slirp4netnsUpgrade udicaUpgrade cockpit-podmanUpgrade podman-testsUpgrade libslirpUpgrade podman-gvproxyUpgrade toolboxUpgrade skopeo-tests | May 13, 2022 | Feb 15, 2022 |
| Alpine Linux | — | Upgrade buildah | Oct 1, 2024 | Feb 15, 2022 |
| Centos_linux | — | Upgrade criu-develUpgrade podman-gvproxyUpgrade skopeo-debuginfoUpgrade runc-debuginfoUpgrade podman-pluginsUpgrade podman-debugsourceUpgrade podman-gvproxy-debuginfoUpgrade buildah-debugsourceUpgrade podman-dockerUpgrade grafanaUpgrade crunUpgrade containernetworking-plugins-debuginfoUpgrade critUpgrade slirp4netnsUpgrade podman-testsUpgrade slirp4netns-debuginfoUpgrade runcUpgrade podman-remoteUpgrade slirp4netns-debugsourceUpgrade toolbox-debuginfoUpgrade container-selinuxUpgrade udicaUpgrade libslirp-debuginfoUpgrade containernetworking-plugins-debugsourceUpgrade libslirp-debugsourceUpgrade conmon-debuginfoUpgrade podman-catatonit-debuginfoUpgrade containernetworking-pluginsUpgrade podman-debuginfoUpgrade skopeo-testsUpgrade oci-seccomp-bpf-hook-debuginfoUpgrade podman-remote-debuginfoUpgrade python3-criuUpgrade podman-plugins-debuginfoUpgrade criu-libs-debuginfoUpgrade oci-seccomp-bpf-hook-debugsourceUpgrade toolbox-debugsourceUpgrade podmanUpgrade oci-seccomp-bpf-hookUpgrade python3-podmanUpgrade netavarkUpgrade grafana-debuginfoUpgrade cockpit-podmanUpgrade buildah-tests-debuginfoUpgrade skopeo-debugsourceUpgrade fuse-overlayfs-debuginfoUpgrade crun-debuginfoUpgrade conmon-debugsourceUpgrade buildahUpgrade podman-catatonitUpgrade crun-debugsourceUpgrade criu-debuginfoUpgrade criuUpgrade runc-debugsourceUpgrade criu-debugsourceUpgrade buildah-debuginfoUpgrade conmonUpgrade aardvark-dnsUpgrade buildah-testsUpgrade fuse-overlayfs-debugsourceUpgrade toolbox-testsUpgrade toolboxUpgrade containers-commonUpgrade libslirp-develUpgrade criu-libsUpgrade libslirpUpgrade fuse-overlayfsUpgrade skopeo | May 13, 2022 | Feb 15, 2022 |
| Debian | — | Upgrade golang-github-prometheus-client-golang | Jul 30, 2024 | Feb 15, 2022 |
| Oracle_linux | — | Upgrade containers-commonUpgrade python3-podmanUpgrade oci-seccomp-bpf-hookUpgrade cockpit-podmanUpgrade crunUpgrade podman-pluginsUpgrade skopeoUpgrade podman-testsUpgrade container-selinuxUpgrade skopeo-testsUpgrade python3-criuUpgrade buildah-testsUpgrade runcUpgrade podman-dockerUpgrade criuUpgrade udicaUpgrade podman-catatonitUpgrade criu-develUpgrade critUpgrade containernetworking-pluginsUpgrade podmanUpgrade podman-remoteUpgrade criu-libsUpgrade conmonUpgrade libslirp-develUpgrade slirp4netnsUpgrade grafanaUpgrade buildahUpgrade netavarkUpgrade podman-gvproxyUpgrade fuse-overlayfsUpgrade libslirpUpgrade aardvark-dns | May 18, 2022 | Feb 15, 2022 |
| Redhat Openshift | — | Upgrade windows-machine-config-rhel8-operatorUpgrade openshift-clientsUpgrade atomic-openshift-dockerregistryUpgrade buildah | Jun 1, 2022 | Feb 15, 2022 |
| Redhat_linux | — | Upgrade conmonUpgrade oci-seccomp-bpf-hook-debugsourceUpgrade fuse-overlayfs-debuginfoUpgrade buildah-debuginfoUpgrade crun-debuginfoUpgrade podman-remote-debuginfoUpgrade buildahUpgrade runc-debugsourceUpgrade aardvark-dnsUpgrade podman-catatonit-debuginfoUpgrade oci-seccomp-bpf-hookUpgrade podman-gvproxyUpgrade grafana-debuginfoUpgrade grafanaUpgrade criu-debugsourceUpgrade slirp4netnsUpgrade fuse-overlayfs-debugsourceUpgrade python3-podmanUpgrade runc-debuginfoUpgrade buildah-tests-debuginfoUpgrade containers-commonUpgrade criu-debuginfoUpgrade netavarkUpgrade conmon-debugsourceUpgrade crun-debugsourceUpgrade libslirpUpgrade buildah-testsUpgrade criu-libsUpgrade containernetworking-plugins-debugsourceUpgrade toolboxUpgrade libslirp-develUpgrade conmon-debuginfoUpgrade fuse-overlayfsUpgrade udicaUpgrade podman-debuginfoUpgrade toolbox-testsNo solution existsUpgrade skopeoUpgrade cockpit-podmanUpgrade podman-remoteUpgrade skopeo-testsUpgrade criu-develUpgrade skopeo-debuginfoUpgrade buildah-debugsourceUpgrade slirp4netns-debuginfoUpgrade podman-debugsourceUpgrade skopeo-debugsourceUpgrade runcUpgrade criu-libs-debuginfoUpgrade podman-plugins-debuginfoUpgrade containernetworking-plugins-debuginfoUpgrade toolbox-debuginfoUpgrade criuUpgrade podman-catatonitUpgrade python3-criuUpgrade podmanUpgrade podman-testsUpgrade slirp4netns-debugsourceUpgrade podman-gvproxy-debuginfoUpgrade container-selinuxUpgrade oci-seccomp-bpf-hook-debuginfoUpgrade critUpgrade libslirp-debugsourceUpgrade containernetworking-pluginsUpgrade toolbox-debugsourceUpgrade libslirp-debuginfoUpgrade podman-dockerUpgrade crunUpgrade podman-plugins | May 13, 2022 | Feb 15, 2022 |
| Rocky_linux | — | Upgrade slirp4netns-debuginfoUpgrade podman-debuginfoUpgrade containernetworking-pluginsUpgrade runc-debuginfoUpgrade criu-develUpgrade podman-remote-debuginfoUpgrade criu-libsUpgrade toolbox-debuginfoUpgrade containers-commonUpgrade toolboxUpgrade podman-debugsourceUpgrade buildah-debugsourceUpgrade fuse-overlayfs-debugsourceUpgrade libslirp-develUpgrade podman-gvproxy-debuginfoUpgrade crun-debugsourceUpgrade podmanUpgrade libslirp-debugsourceUpgrade containernetworking-plugins-debuginfoUpgrade oci-seccomp-bpf-hook-debuginfoUpgrade fuse-overlayfs-debuginfoUpgrade skopeoUpgrade containernetworking-plugins-debugsourceUpgrade oci-seccomp-bpf-hookUpgrade skopeo-testsUpgrade conmonUpgrade podman-remoteUpgrade slirp4netns-debugsourceUpgrade libslirp-debuginfoUpgrade oci-seccomp-bpf-hook-debugsourceUpgrade crunUpgrade podman-pluginsUpgrade podman-catatonit-debuginfoUpgrade buildah-testsUpgrade podman-gvproxyUpgrade conmon-debugsourceUpgrade libslirpUpgrade criu-debuginfoUpgrade podman-catatonitUpgrade grafanaUpgrade criu-libs-debuginfoUpgrade grafana-debuginfoUpgrade slirp4netnsUpgrade critUpgrade runcUpgrade podman-testsUpgrade criuUpgrade skopeo-debuginfoUpgrade python3-criuUpgrade buildahUpgrade podman-plugins-debuginfoUpgrade toolbox-testsUpgrade runc-debugsourceUpgrade skopeo-debugsourceUpgrade toolbox-debugsourceUpgrade fuse-overlayfsUpgrade buildah-tests-debuginfoUpgrade netavarkUpgrade conmon-debuginfoUpgrade crun-debuginfoUpgrade criu-debugsourceUpgrade buildah-debuginfoUpgrade aardvark-dns | Mar 5, 2024 | Feb 15, 2022 |
| Suse | — | Upgrade firewalld-langUpgrade golang-github-prometheus-node_exporterUpgrade golang-github-prometheus-alertmanagerUpgrade golang-github-prometheus-prometheusUpgrade podmanUpgrade firewall-appletUpgrade firewalldUpgrade python3-firewallUpgrade podman-dockerUpgrade podman-cni-configUpgrade firewall-macrosUpgrade podman-remoteUpgrade firewall-config | Oct 26, 2022 | Feb 15, 2022 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub