Lucene search

K
cvelistGitHub_MCVELIST:CVE-2022-21698
HistoryFeb 15, 2022 - 12:00 a.m.

CVE-2022-21698 Uncontrolled Resource Consumption in promhttp

2022-02-1500:00:00
CWE-400
GitHub_M
www.cve.org
7
cve-2022-21698
unbounded cardinality
denial of service
http server
memory exhaustion
prometheus
instrumentation library
middleware
http methods
patch
workarounds
reverse proxy
firewall

CVSS3

7.5

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

AI Score

8.9

Confidence

High

EPSS

0.007

Percentile

79.7%

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.

CNA Affected

[
  {
    "vendor": "prometheus",
    "product": "client_golang",
    "versions": [
      {
        "version": "< 1.11.1",
        "status": "affected"
      }
    ]
  }
]

References

CVSS3

7.5

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

AI Score

8.9

Confidence

High

EPSS

0.007

Percentile

79.7%