Allocation of Resources Without Limits or Throttling Affecting crit package, versions <0:3.15-1.module+el8.7.0+20785+0180d035


Severity

Recommended
medium

Based on Oracle Linux security rating.

Threat Intelligence

EPSS
0.79% (83rd percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications

Snyk Learn

Learn about Allocation of Resources Without Limits or Throttling vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-ORACLE8-CRIT-2828269
  • published18 May 2022
  • disclosed15 Feb 2022

Introduced: 15 Feb 2022

CVE-2022-21698  (opens in a new tab)
CWE-770  (opens in a new tab)

How to fix?

Upgrade Oracle:8 crit to version 0:3.15-1.module+el8.7.0+20785+0180d035 or higher.
This issue was patched in ELSA-2022-7529.

NVD Description

Note: Versions mentioned in the description apply only to the upstream crit package and not the crit package as distributed by Oracle. See How to fix? for Oracle:8 relevant fixed versions and status.

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.

References

CVSS Scores

version 3.1