Skip to content
OpenAdvisories
High · 7.5 CVE-2023-45142 EUVD-2023-2802GHSA-rcjv-mgp8-qvmrGO-2023-2113

OpenTelemetry-Go Contrib has DoS vulnerability in otelhttp due to unbound cardinality metrics

Published Oct 12, 2023 · Updated Feb 13, 2025 · Assigned by GitHub_M

Vendor: open-telemetry Product: opentelemetry-go-contrib Package: buildkitd Package: caddy Package: cert-manager Package: cri-tools Package: docker-buildx Package: go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful Package: go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin Package: go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux Package: go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho Package: go.opentelemetry.io/contrib/instrumentation/gopkg.in/macaron.v1/otelmacaron Package: go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace Package: go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp Package: golang-opentelemetry-contrib Package: k3s Package: k3s Package: kube-vip-cloud-provider Package: kubectl-1.25 Package: kubectl-1.25-default Package: kubectl-1.26 Package: kubectl-1.26-default Package: kubectl-1.27 Package: kubectl-1.27-default Package: kubectl-1.28 Package: kubectl-1.28-default Package: kubectl-1.29 Package: kubectl-1.29-default Package: kubectl-1.32 Package: kubectl-1.32-default Package: kubectl-1.33 Package: kubectl-1.33-default Package: kubectl-bash-completion-1.25 Package: kubectl-bash-completion-1.26 Package: kubectl-bash-completion-1.27 Package: kubectl-bash-completion-1.28 Package: kubectl-bash-completion-1.29 Package: kubernetes Package: kubevela Package: moby-compose Package: moby-engine Package: opa Package: prometheus Package: prometheus-adapter Package: prometheus-adapter Package: up Ecosystem: Alpine Ecosystem: Azure Linux Ecosystem: Go Ecosystem: Ubuntu Ecosystem: Wolfi

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.

Affected products

VendorProductAffectedFixed
open-telemetry opentelemetry-go-contrib < 0.44.0 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Ubuntu 26.10 golang-opentelemetry-contrib No fix yet —
Ubuntu 26.04 LTS golang-opentelemetry-contrib No fix yet —
Ubuntu 25.10 golang-opentelemetry-contrib No fix yet —
ReleasePackageFixed inAdvisory
Red Hat Ceph Storage 5 ceph +43 2:16.2.10-266.el8cp RHSA-2024:4118
Red Hat Ceph Storage 5 ceph-ansible 6.0.28.8-1.el8cp RHSA-2024:4118
ReleasePackageFixed inAdvisory
SLES 15 SP6 containerd 1.7.21-150000.117.1 SUSE-SU-2024:3221-1
SLES 15 SP6 docker 26.1.5_ce-150000.212.1 SUSE-SU-2024:4360-1
SLES 15 SP6 golang-github-prometheus-prometheus 2.45.6-150100.4.20.1 SUSE-SU-2024:3288-1
SLES 15 SP5 containerd 1.7.21-150000.117.1 SUSE-SU-2024:3221-1
SLES 15 SP5 docker 26.1.5_ce-150000.212.1 SUSE-SU-2024:4360-1
SLES 15 SP5 golang-github-prometheus-prometheus 2.45.6-150100.4.20.1 SUSE-SU-2024:3288-1
SLES 15 SP4 containerd 1.7.21-150000.117.1 SUSE-SU-2024:3221-1
SLES 15 SP4 docker 26.1.5_ce-150000.212.1 SUSE-SU-2024:4360-1
SLES 15 SP3 containerd 1.7.21-150000.117.1 SUSE-SU-2024:3221-1
SLES 15 SP3 docker 26.1.5_ce-150000.212.1 SUSE-SU-2024:4360-1
SLES 15 SP2 containerd 1.7.21-150000.117.1 SUSE-SU-2024:3221-1
SLES 15 SP2 docker 26.1.5_ce-150000.212.1 SUSE-SU-2024:4360-1
Show 22 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES 12 SP5 docker 26.1.5_ce-98.120.1 SUSE-SU-2024:4319-1
SLES 12 containerd 1.7.21-16.94.1 SUSE-SU-2024:3188-1
SLES for SAP 15 SP4 containerd 1.7.21-150000.117.1 SUSE-SU-2024:3221-1
SLES for SAP 15 SP4 docker 26.1.5_ce-150000.212.1 SUSE-SU-2024:4360-1
SLES for SAP 15 SP3 containerd 1.7.21-150000.117.1 SUSE-SU-2024:3221-1
SLES for SAP 15 SP3 docker 26.1.5_ce-150000.212.1 SUSE-SU-2024:4360-1
SLES for SAP 15 SP2 containerd 1.7.21-150000.117.1 SUSE-SU-2024:3221-1
SLES for SAP 15 SP2 docker 26.1.5_ce-150000.212.1 SUSE-SU-2024:4360-1
SLE Micro 6.1 docker 27.5.1_ce-slfo.1.1_1.1 SUSE-SU-2025:20259-1
SLE Micro 6.0 containerd 1.7.21-1.1 SUSE-SU-2025:20091-1
SLE Micro 6.0 docker 26.1.5_ce-1.1 SUSE-SU-2025:20110-1
SLE Micro 5.5 containerd 1.7.21-150000.117.1 SUSE-SU-2024:3221-1
SLE Micro 5.5 docker 26.1.5_ce-150000.212.1 SUSE-SU-2024:4360-1
SLE Micro 5.4 containerd 1.7.21-150000.117.1 SUSE-SU-2024:3221-1
SLE Micro 5.4 docker 26.1.5_ce-150000.212.1 SUSE-SU-2024:4360-1
SLE Micro 5.3 containerd 1.7.21-150000.117.1 SUSE-SU-2024:3221-1
SLE Micro 5.3 docker 26.1.5_ce-150000.212.1 SUSE-SU-2024:4360-1
SLE Micro 5.2 containerd 1.7.21-150000.117.1 SUSE-SU-2024:3221-1
SLE Micro 5.2 docker 26.1.5_ce-150000.212.1 SUSE-SU-2024:4360-1
SLE Micro 5.1 containerd 1.7.21-150000.117.1 SUSE-SU-2024:3221-1
SLE Micro 5.1 docker 26.1.5_ce-150000.212.1 SUSE-SU-2024:4360-1
SLE HPC 15 SP4 containerd 1.7.21-150000.117.1 SUSE-SU-2024:3221-1
SLE HPC 15 SP4 docker 26.1.5_ce-150000.212.1 SUSE-SU-2024:4360-1
SLE HPC 15 SP3 containerd 1.7.21-150000.117.1 SUSE-SU-2024:3221-1
SLE HPC 15 SP3 docker 26.1.5_ce-150000.212.1 SUSE-SU-2024:4360-1
SLE HPC 15 SP2 containerd 1.7.21-150000.117.1 SUSE-SU-2024:3221-1
SLE HPC 15 SP2 docker 26.1.5_ce-150000.212.1 SUSE-SU-2024:4360-1
SUSE Package Hub 15 SP6 caddy 2.8.4-bp156.3.3.1 openSUSE-SU-2024:0220-1
SUSE Package Hub 15 SP5 caddy 2.8.4-bp155.2.3.1 openSUSE-SU-2024:0211-1
SUSE Manager Proxy Module 4.3 golang-github-prometheus-prometheus 2.45.6-150100.4.20.1 SUSE-SU-2024:3288-1
SUSE Manager Client Tools for SLE Micro 5 uyuni-tools 0.1.21-150000.1.8.2 SUSE-SU-2024:3267-1
SUSE Manager Client Tools 15 golang-github-prometheus-prometheus 2.45.6-150000.3.56.1 SUSE-SU-2024:3267-1
SUSE Manager Client Tools 15 rhnlib 5.0.4-150000.3.46.1 SUSE-SU-2024:3267-1
SUSE Manager Client Tools 15 spacecmd 5.0.9-150000.3.124.1 SUSE-SU-2024:3267-1
SUSE Manager Client Tools 15 uyuni-tools 0.1.21-150000.1.8.2 SUSE-SU-2024:3267-1
SUSE Manager Client Tools 12 golang-github-prometheus-prometheus 2.45.6-1.53.1 SUSE-SU-2024:3266-1
SUSE Manager Client Tools 12 rhnlib 5.0.4-21.52.1 SUSE-SU-2024:3266-1
SUSE Manager Client Tools 12 spacecmd 5.0.9-38.147.1 SUSE-SU-2024:3266-1
SUSE Manager Client Tools 12 uyuni-tools 0.1.21-1.8.1 SUSE-SU-2024:3266-1
SUSE Enterprise Storage 7.1 containerd 1.7.21-150000.117.1 SUSE-SU-2024:3221-1
SUSE Enterprise Storage 7.1 docker 26.1.5_ce-150000.212.1 SUSE-SU-2024:4360-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed caddy 2.7.6-1.1 openSUSE-SU-2024:13495-1
openSUSE Tumbleweed containerd 1.7.21-1.1 openSUSE-SU-2024:14320-1
openSUSE Tumbleweed docker 26.1.5_ce-2.1 openSUSE-SU-2024:14321-1
openSUSE Tumbleweed golang-github-prometheus-prometheus 2.53.0-3.1 openSUSE-SU-2024:14232-1
openSUSE Tumbleweed teleport 14.1.1-1.1 openSUSE-SU-2024:13360-1
openSUSE Leap 15.6 caddy 2.8.4-bp156.3.3.1 openSUSE-SU-2024:0220-1
openSUSE Leap 15.6 containerd 1.7.21-150000.117.1 SUSE-SU-2024:3221-1
openSUSE Leap 15.6 docker 26.1.5_ce-150000.212.1 SUSE-SU-2024:4360-1
openSUSE Leap 15.6 golang-github-prometheus-prometheus 2.45.6-150100.4.20.1 SUSE-SU-2024:3288-1
openSUSE Leap 15.6 spacecmd 5.0.9-150000.3.124.1 SUSE-SU-2024:3267-1
openSUSE Leap 15.5 caddy 2.8.4-bp155.2.3.1 openSUSE-SU-2024:0211-1
openSUSE Leap 15.5 containerd 1.7.21-150000.117.1 SUSE-SU-2024:3221-1
openSUSE Leap 15.5 docker 26.1.5_ce-150000.212.1 SUSE-SU-2024:4360-1
openSUSE Leap 15.5 golang-github-prometheus-prometheus 2.45.6-150100.4.20.1 SUSE-SU-2024:3288-1
openSUSE Leap 15.5 spacecmd 5.0.9-150000.3.124.1 SUSE-SU-2024:3267-1
Show 1 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
openSUSE Leap Micro 5.5 containerd 1.7.21-150000.117.1 SUSE-SU-2024:3221-1
openSUSE Leap Micro 5.5 docker 26.1.5_ce-150000.212.1 SUSE-SU-2024:4360-1
ReleasePackageFixed inAdvisory
Alpine v3.24 k3s 1.29.3.1-r0 —
Alpine v3.23 k3s 1.29.3.1-r0 —
Alpine v3.22 k3s 1.29.3.1-r0 —
Alpine v3.21 k3s 1.29.3.1-r0 —
Alpine v3.20 k3s 1.29.3.1-r0 —

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2023 amazon-cloudwatch-agent 1.300032.3-1.amzn2023 ALAS2023-2024-498
Amazon Linux 2 amazon-cloudwatch-agent 1.300032.3-1.amzn2 ALAS2-2024-2424
Amazon Linux 2 cri-tools 1.29.0-1.amzn2.0.1 ALAS2-2024-2446

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 cert-manager 1.12.12-1 —
Azure Linux 3 docker-buildx 0.14.0-1 —
Azure Linux 3 kube-vip-cloud-provider 0.0.10-1 —
Azure Linux 3 kubernetes 1.29.1-2 —
Azure Linux 3 opa 0.63.0-1 —
Azure Linux 3 prometheus 2.45.4-1 —
Azure Linux 3 prometheus-adapter 0.12.0-1 —
Azure Linux 2 (CBL-Mariner) cri-tools 1.29.0-2 —
Azure Linux 2 (CBL-Mariner) moby-compose 2.17.3-7 —
Azure Linux 2 (CBL-Mariner) moby-engine 24.0.9-10 —
Azure Linux 2 (CBL-Mariner) opa 0.63.0-1 —

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling buildkitd 0.25.2-r1 —
Wolfi rolling caddy 2.7.5-r1 —
Wolfi rolling k3s 1.28.2-r2 —
Wolfi rolling kubectl-1.25 +8 No fix yet —
Wolfi rolling kubectl-1.28 +2 1.28.9-r0 —
Wolfi rolling kubectl-1.29 +2 1.29.3-r1 —
Wolfi rolling kubectl-1.32 +1 1.32.0-r2 —
Wolfi rolling kubectl-1.33 +1 1.33.0-r1 —
Wolfi rolling kubevela 1.9.7-r3 —
Wolfi rolling prometheus-adapter 0.11.1-r4 —
Wolfi rolling up 0.24.0-r1 —

Affected packages

Advisories 26

References