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