Skip to main content
← All vulnerabilities
CVE-2023-47108GO-2023-2331GHSA-8PGV-569H-W5RW

DoS vulnerability in otelgrpc (uncontrolled resource consumption) due to unbound cardinality metrics

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 0.46.0
1 proof of concept on GitHub
  • Exploitation: poc
  • Automatable: yes
  • Technical impact: partial

Summary

OpenTelemetry-Go Contrib is a collection of third-party packages for OpenTelemetry-Go. Starting in version 0.37.0 and prior to version 0.46.0, the grpc Unary Server Interceptor out of the box adds labels `net.peer.sock.addr` and `net.peer.sock.port` that have unbound cardinality. It leads to the server's potential memory exhaustion when many malicious requests are sent. An attacker can easily flood the peer address and port for requests. Version 0.46.0 contains a fix for this issue. As a workaround to stop being affected, a view removing the attributes can be used. The other possibility is to disable grpc metrics instrumentation by passing `otelgrpc.WithMeterProvider` option with `noop.NewMeterProvider`.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • open-telemetry opentelemetry-go-contrib

    From 0.37.0 · fixed in 0.46.0

  • go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpcGo

    From 0.37.0 · fixed in 0.46.0

References 8

GitHub · open-telemetry/opentelemetry-go-contrib

pkg.go.dev

GitHub · bahe-msft/govuln-CVE-2023-47108