CVE-2022-21698

CVE Details

Release Date:2022-02-15

Description


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.

See more information about CVE-2022-21698 from MITRE CVE dictionary and NIST NVD


CVSS v3.0 metrics


NOTE: The following CVSS v3.0 metrics and score provided are preliminary and subject to review.

Base Score: 7.5 Base Metrics: AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Access Vector: Network Attack Complexity: Low
Privileges Required: None User Interaction: None
Scope: Unchanged Confidentiality Impact: None
Integrity Impact: None Availability Impact: High

Errata information


PlatformErrataRelease Date
Oracle Linux version 8 (buildah)ELSA-2022-17622022-05-17
Oracle Linux version 8 (buildah)ELSA-2022-75292022-11-15
Oracle Linux version 8 (cockpit-podman)ELSA-2022-17622022-05-17
Oracle Linux version 8 (cockpit-podman)ELSA-2022-75292022-11-15
Oracle Linux version 8 (conmon)ELSA-2022-17622022-05-17
Oracle Linux version 8 (conmon)ELSA-2022-75292022-11-15
Oracle Linux version 8 (container-selinux)ELSA-2022-17622022-05-17
Oracle Linux version 8 (container-selinux)ELSA-2022-75292022-11-15
Oracle Linux version 8 (containernetworking-plugins)ELSA-2022-17622022-05-17
Oracle Linux version 8 (containernetworking-plugins)ELSA-2022-75292022-11-15
Oracle Linux version 8 (containers-common)ELSA-2022-17622022-05-17
Oracle Linux version 8 (criu)ELSA-2022-17622022-05-17
Oracle Linux version 8 (criu)ELSA-2022-75292022-11-15
Oracle Linux version 8 (crun)ELSA-2022-17622022-05-17
Oracle Linux version 8 (crun)ELSA-2022-75292022-11-15
Oracle Linux version 8 (fuse-overlayfs)ELSA-2022-17622022-05-17
Oracle Linux version 8 (fuse-overlayfs)ELSA-2022-75292022-11-15
Oracle Linux version 8 (grafana)ELSA-2022-75192022-11-15
Oracle Linux version 8 (libslirp)ELSA-2022-17622022-05-17
Oracle Linux version 8 (libslirp)ELSA-2022-75292022-11-15
Oracle Linux version 8 (oci-seccomp-bpf-hook)ELSA-2022-17622022-05-17
Oracle Linux version 8 (oci-seccomp-bpf-hook)ELSA-2022-75292022-11-15
Oracle Linux version 8 (podman)ELSA-2022-17622022-05-17
Oracle Linux version 8 (podman)ELSA-2022-75292022-11-15
Oracle Linux version 8 (python-podman)ELSA-2022-17622022-05-17
Oracle Linux version 8 (runc)ELSA-2022-17622022-05-17
Oracle Linux version 8 (runc)ELSA-2022-75292022-11-15
Oracle Linux version 8 (skopeo)ELSA-2022-17622022-05-17
Oracle Linux version 8 (skopeo)ELSA-2022-75292022-11-15
Oracle Linux version 8 (slirp4netns)ELSA-2022-17622022-05-17
Oracle Linux version 8 (slirp4netns)ELSA-2022-75292022-11-15
Oracle Linux version 8 (udica)ELSA-2022-17622022-05-17
Oracle Linux version 8 (udica)ELSA-2022-75292022-11-15
Oracle Linux version 9 (grafana)ELSA-2022-80572022-11-22



This page is generated automatically and has not been checked for errors or omissions. For clarification or corrections please contact the Oracle Linux ULN team

software.hardware.complete