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