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 slirp4netnsUpgrade criuUpgrade cockpit-podmanUpgrade podman-pluginsUpgrade podman-gvproxyUpgrade criu-develUpgrade udicaUpgrade podman-testsUpgrade skopeo-testsUpgrade podman-dockerUpgrade skopeoUpgrade python3-podmanUpgrade conmonUpgrade toolboxUpgrade crunUpgrade toolbox-testsUpgrade netavarkUpgrade libslirpUpgrade oci-seccomp-bpf-hookUpgrade criu-libsUpgrade python3-criuUpgrade critUpgrade podmanUpgrade fuse-overlayfsUpgrade container-selinuxUpgrade buildahUpgrade aardvark-dnsUpgrade runcUpgrade podman-catatonitUpgrade containernetworking-pluginsUpgrade containers-commonUpgrade grafanaUpgrade buildah-testsUpgrade podman-remoteUpgrade libslirp-devel | May 13, 2022 | Feb 15, 2022 |
| Alpine Linux | — | Upgrade buildah | Oct 1, 2024 | Feb 15, 2022 |
| Centos_linux | — | Upgrade critUpgrade libslirp-debugsourceUpgrade podman-plugins-debuginfoUpgrade criu-libs-debuginfoUpgrade containernetworking-plugins-debuginfoUpgrade oci-seccomp-bpf-hook-debugsourceUpgrade slirp4netns-debuginfoUpgrade podman-remote-debuginfoUpgrade grafanaUpgrade udicaUpgrade toolbox-debugsourceUpgrade podman-debuginfoUpgrade python3-criuUpgrade conmon-debuginfoUpgrade podman-gvproxyUpgrade skopeo-debuginfoUpgrade buildah-debugsourceUpgrade podman-catatonit-debuginfoUpgrade runcUpgrade container-selinuxUpgrade podman-debugsourceUpgrade skopeo-testsUpgrade criu-develUpgrade podman-pluginsUpgrade podman-remoteUpgrade runc-debuginfoUpgrade podman-gvproxy-debuginfoUpgrade libslirp-debuginfoUpgrade crunUpgrade oci-seccomp-bpf-hook-debuginfoUpgrade podman-dockerUpgrade toolbox-debuginfoUpgrade slirp4netns-debugsourceUpgrade slirp4netnsUpgrade containernetworking-pluginsUpgrade podman-testsUpgrade containernetworking-plugins-debugsourceUpgrade toolbox-testsUpgrade buildahUpgrade libslirpUpgrade fuse-overlayfsUpgrade criu-libsUpgrade skopeo-debugsourceUpgrade crun-debuginfoUpgrade toolboxUpgrade buildah-debuginfoUpgrade fuse-overlayfs-debugsourceUpgrade conmon-debugsourceUpgrade criu-debuginfoUpgrade criuUpgrade conmonUpgrade podman-catatonitUpgrade crun-debugsourceUpgrade fuse-overlayfs-debuginfoUpgrade cockpit-podmanUpgrade buildah-tests-debuginfoUpgrade libslirp-develUpgrade netavarkUpgrade grafana-debuginfoUpgrade python3-podmanUpgrade oci-seccomp-bpf-hookUpgrade containers-commonUpgrade runc-debugsourceUpgrade skopeoUpgrade aardvark-dnsUpgrade podmanUpgrade criu-debugsourceUpgrade buildah-tests | May 13, 2022 | Feb 15, 2022 |
| Debian | — | Upgrade golang-github-prometheus-client-golang | Jul 30, 2024 | Feb 15, 2022 |
| Oracle_linux | — | Upgrade python3-criuUpgrade skopeo-testsUpgrade critUpgrade container-selinuxUpgrade podman-pluginsUpgrade criu-develUpgrade podman-catatonitUpgrade podmanUpgrade udicaUpgrade crunUpgrade cockpit-podmanUpgrade podman-testsUpgrade podman-remoteUpgrade containernetworking-pluginsUpgrade criuUpgrade podman-dockerUpgrade buildah-testsUpgrade runcUpgrade skopeoUpgrade buildahUpgrade slirp4netnsUpgrade netavarkUpgrade grafanaUpgrade oci-seccomp-bpf-hookUpgrade conmonUpgrade libslirpUpgrade podman-gvproxyUpgrade python3-podmanUpgrade criu-libsUpgrade libslirp-develUpgrade aardvark-dnsUpgrade containers-commonUpgrade fuse-overlayfs | May 18, 2022 | Feb 15, 2022 |
| Redhat Openshift | — | Upgrade buildahUpgrade atomic-openshift-dockerregistryUpgrade windows-machine-config-rhel8-operatorUpgrade openshift-clients | Jun 1, 2022 | Feb 15, 2022 |
| Redhat_linux | — | Upgrade podman-testsUpgrade criuUpgrade slirp4netns-debugsourceUpgrade podman-gvproxy-debuginfoUpgrade buildah-debugsourceUpgrade containernetworking-pluginsUpgrade podman-pluginsUpgrade oci-seccomp-bpf-hook-debuginfoUpgrade skopeo-testsUpgrade toolbox-debugsourceUpgrade runcUpgrade podman-plugins-debuginfoUpgrade skopeo-debuginfoUpgrade podman-catatonitUpgrade toolbox-debuginfoUpgrade containernetworking-plugins-debuginfoUpgrade podman-dockerUpgrade udicaUpgrade python3-criuUpgrade criu-develUpgrade podmanUpgrade libslirp-debuginfoUpgrade podman-debuginfoUpgrade slirp4netns-debuginfoUpgrade podman-debugsourceUpgrade criu-libs-debuginfoUpgrade container-selinuxUpgrade skopeoUpgrade critUpgrade toolbox-testsUpgrade skopeo-debugsourceUpgrade crunNo solution existsUpgrade podman-remoteUpgrade libslirp-debugsourceUpgrade cockpit-podmanUpgrade libslirpUpgrade podman-catatonit-debuginfoUpgrade buildah-debuginfoUpgrade criu-debuginfoUpgrade runc-debuginfoUpgrade buildahUpgrade oci-seccomp-bpf-hookUpgrade fuse-overlayfs-debuginfoUpgrade oci-seccomp-bpf-hook-debugsourceUpgrade grafana-debuginfoUpgrade podman-gvproxyUpgrade crun-debugsourceUpgrade grafanaUpgrade crun-debuginfoUpgrade aardvark-dnsUpgrade criu-libsUpgrade runc-debugsourceUpgrade fuse-overlayfs-debugsourceUpgrade conmonUpgrade libslirp-develUpgrade buildah-tests-debuginfoUpgrade containers-commonUpgrade fuse-overlayfsUpgrade netavarkUpgrade toolboxUpgrade podman-remote-debuginfoUpgrade containernetworking-plugins-debugsourceUpgrade buildah-testsUpgrade python3-podmanUpgrade conmon-debuginfoUpgrade conmon-debugsourceUpgrade criu-debugsourceUpgrade slirp4netns | May 13, 2022 | Feb 15, 2022 |
| Rocky_linux | — | Upgrade netavarkUpgrade criu-debuginfoUpgrade podman-catatonitUpgrade conmon-debuginfoUpgrade libslirpUpgrade grafanaUpgrade criu-libs-debuginfoUpgrade fuse-overlayfsUpgrade buildah-tests-debuginfoUpgrade grafana-debuginfoUpgrade critUpgrade runcUpgrade conmon-debugsourceUpgrade podman-gvproxyUpgrade slirp4netnsUpgrade aardvark-dnsUpgrade buildah-testsUpgrade runc-debugsourceUpgrade podman-plugins-debuginfoUpgrade skopeo-debugsourceUpgrade buildahUpgrade criu-debugsourceUpgrade buildah-debuginfoUpgrade toolbox-debugsourceUpgrade crun-debuginfoUpgrade toolbox-testsUpgrade podman-testsUpgrade criuUpgrade skopeo-debuginfoUpgrade python3-criuUpgrade slirp4netns-debuginfoUpgrade podman-gvproxy-debuginfoUpgrade conmonUpgrade slirp4netns-debugsourceUpgrade toolbox-debuginfoUpgrade podman-catatonit-debuginfoUpgrade criu-libsUpgrade podman-debuginfoUpgrade podman-remote-debuginfoUpgrade podman-remoteUpgrade toolboxUpgrade oci-seccomp-bpf-hookUpgrade podman-debugsourceUpgrade skopeoUpgrade buildah-debugsourceUpgrade crun-debugsourceUpgrade containers-commonUpgrade criu-develUpgrade libslirp-debugsourceUpgrade oci-seccomp-bpf-hook-debugsourceUpgrade libslirp-develUpgrade skopeo-testsUpgrade runc-debuginfoUpgrade podmanUpgrade fuse-overlayfs-debuginfoUpgrade containernetworking-pluginsUpgrade fuse-overlayfs-debugsourceUpgrade oci-seccomp-bpf-hook-debuginfoUpgrade libslirp-debuginfoUpgrade crunUpgrade containernetworking-plugins-debuginfoUpgrade podman-pluginsUpgrade containernetworking-plugins-debugsource | Mar 5, 2024 | Feb 15, 2022 |
| Suse | — | Upgrade podmanUpgrade golang-github-prometheus-alertmanagerUpgrade firewalld-langUpgrade golang-github-prometheus-node_exporterUpgrade golang-github-prometheus-prometheusUpgrade firewall-configUpgrade python3-firewallUpgrade podman-cni-configUpgrade podman-dockerUpgrade firewall-macrosUpgrade podman-remoteUpgrade firewall-appletUpgrade firewalld | 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