UBUNTU-CVE-2022-21698

Source
https://ubuntu.com/security/CVE-2022-21698
Import Source
https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2022/UBUNTU-CVE-2022-21698.json
JSON Data
https://api.osv.dev/v1/vulns/UBUNTU-CVE-2022-21698
Related
Published
2022-02-15T16:15:00Z
Modified
2024-10-15T14:09:45Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
[none]
Details

clientgolang is the instrumentation library for Go applications in Prometheus, and the promhttp package in clientgolang provides tooling around HTTP servers and clients. In clientgolang 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. clientgolang 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

Affected packages

Ubuntu:Pro:18.04:LTS / golang-github-prometheus-client-golang

Package

Name
golang-github-prometheus-client-golang
Purl
pkg:deb/ubuntu/golang-github-prometheus-client-golang?arch=src?distro=esm-apps/bionic

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected

Affected versions

0.*

0.8.0-1
0.8.0-2

Ecosystem specific

{
    "ubuntu_priority": "medium"
}

Ubuntu:20.04:LTS / golang-github-prometheus-client-golang

Package

Name
golang-github-prometheus-client-golang
Purl
pkg:deb/ubuntu/golang-github-prometheus-client-golang?arch=src?distro=focal

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected

Affected versions

0.*

0.9.2-0ubuntu3

Ecosystem specific

{
    "ubuntu_priority": "medium"
}

Ubuntu:22.04:LTS / golang-github-prometheus-client-golang

Package

Name
golang-github-prometheus-client-golang
Purl
pkg:deb/ubuntu/golang-github-prometheus-client-golang?arch=src?distro=jammy

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected

Affected versions

1.*

1.9.0-2
1.11.0-3

Ecosystem specific

{
    "ubuntu_priority": "medium"
}

Ubuntu:24.10 / golang-github-prometheus-client-golang

Package

Name
golang-github-prometheus-client-golang
Purl
pkg:deb/ubuntu/golang-github-prometheus-client-golang?arch=src?distro=oracular

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected

Affected versions

1.*

1.18.0-3
1.19.0-1
1.19.0-2
1.19.1-2

Ecosystem specific

{
    "ubuntu_priority": "medium"
}

Ubuntu:24.04:LTS / golang-github-prometheus-client-golang

Package

Name
golang-github-prometheus-client-golang
Purl
pkg:deb/ubuntu/golang-github-prometheus-client-golang?arch=src?distro=noble

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected

Affected versions

1.*

1.16.0-4
1.17.0-2
1.18.0-2
1.18.0-3

Ecosystem specific

{
    "ubuntu_priority": "medium"
}