7.5

CVE-2023-45142: OpenTelemetry-Go Contrib has DoS vulnerability in otelhttp due to unbound cardinality metrics

Modified
AliasesUBUNTU-CVE-2023-45142CGA-2fjh-h3c2-xp7gCGA-2g6w-v755-qv4w
Published 12-10-2023Last modified 13-02-2025

Vulnerability summary

CVE-2023-45142 is a high (CVSS 7.5) vulnerability in open-telemetry opentelemetry-go-contrib. EPSS estimates a 1.61% chance of exploitation in the next 30 days, higher than 76% of scored vulnerabilities.

Priority
Prioritisesevere

Severe, CVSS 7.5 (CVE.org); no exploitation reported by the 5 checked sources; EPSS 2% (FIRST, 03-11-2026)

Source freshness unavailable

How is this decided?
CVSS score
7.5/10
010
High · v3.1 (CVE.org)
EPSS score
1.61%
0%100%
Low · +0.25 pp in 30 days
KEVNot listedNot listed by any tracked catalog.
RansomwareNot flaggedNo ransomware use recorded.
Public exploits0No public exploits recorded

Advisory lineage

Upstream 0 · Downstream 16 · Related 53

Timeline

  1. 12-10-2023
    PublishedVulnerability first disclosed.
  2. 13-02-2025
    Last modifiedVulnerability information updated.

Description

OpenTelemetry-Go Contrib is a collection of third-party packages for OpenTelemetry-Go. A handler wrapper out of the box adds labels `http.user_agent` and `http.method` that have unbound cardinality. It leads to the server's potential memory exhaustion when many malicious requests are sent to it. HTTP header User-Agent or HTTP method for requests can be easily set by an attacker to be random and long. The library internally uses `httpconv.ServerRequest` that records every value for HTTP `method` and `User-Agent`. In order to be affected, a program has to use the `otelhttp.NewHandler` wrapper and not filter any unknown HTTP methods or User agents on the level of CDN, LB, previous middleware, etc. Version 0.44.0 fixed this issue when the values collected for attribute `http.request.method` were changed to be restricted to a set of well-known values and other high cardinality attributes were removed. As a workaround to stop being affected, `otelhttp.WithFilter()` can be used, but it requires manual careful configuration to not log certain requests entirely. For convenience and safe usage of this library, it should by default mark with the label `unknown` non-standard HTTP methods and User agents to show that such requests were made but do not increase cardinality. In case someone wants to stay with the current behavior, library API should allow to enable it.

CVSS metrics

7 scores · 7 sources · 1 version

EPSS trend

Probability

1.61%

Chance of exploitation in the next 30 days

Percentile

76%

Versus all other CVEs

30-day change

Increase +0.25 pp

From 1.36% on 04-10-2026

04-10-202603-11-2026

Known exploited

Compare KEV catalogs
CISA KEV

Not in the CISA KEV catalog.

ENISA CNW

Not in the ENISA CNW catalog.

CIRCL

Not in the CIRCL catalog.

Public exploits

0 found

No public exploits indexed.

Weaknesses

CWE · root cause

Affected systems

Version check

Known conditions: network-reachable, no authentication, no user interaction (CVSS vector). Other conditions: not stated in public data.

Chainguard112 products
  • azure-container-networkingAll versions (No fix recorded)
  • azure-vnet-cniAll versions (No fix recorded)
  • buildkitd< 0.25.2-r1
  • caddy< 2.7.5-r1
  • k3s< 1.28.2-r2
Wolfi26 products
  • buildkitd< 0.25.2-r1
  • caddy< 2.7.5-r1
  • k3s< 1.28.2-r2
  • kubectl-1.25All versions (No fix recorded)
  • kubectl-1.25-defaultAll versions (No fix recorded)
Opensuse2 products
  • caddy&distro=openSUSE Tumbleweed< 2.7.6-1.1
  • golang-github-prometheus-prometheus&distro=openSUSE Tumbleweed< 2.53.0-3.1
Alpine1 product
  • k3s< 1.29.3.1-r0
Go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful1 product
  • otelrestful< 0.44.0
Go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin1 product
  • otelgin< 0.44.0
Go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux1 product
  • otelmux< 0.44.0
Go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo1 product
  • otelecho< 0.44.0
Go.opentelemetry.io/contrib/instrumentation/gopkg.in/macaron.v11 product
  • otelmacaron< 0.44.0
Go.opentelemetry.io/contrib/instrumentation/net/http1 product
  • otelhttp< 0.44.0
Go.opentelemetry.io/contrib/instrumentation/net/http/httptrace1 product
  • otelhttptrace< 0.44.0
Open-telemetry1 product
Opentelemetry1 product
Ubuntu1 product
  • golang-opentelemetry-contribAll versions (No fix recorded)

14 vendors · 151 products

References

17 links
Show all 17 references