CVE-2026-81870 OpenTelemetry-Go: Exporter config logging may leak endpoint URLs in info logs
Enabling Info-level logging in OpenTelemetry-Go may leak internal collector endpoints and embedded credentials to log files.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-81870?
CVE-2026-81870 is a low-severity vulnerability in open-telemetry opentelemetry-go, published on 16 Sep 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
OpenTelemetry-Go is the Go implementation of OpenTelemetry. From version 1.5.0 to 1.44.0, sdk/trace.NewTracerProvider emits a TracerProvider created internal Info-level diagnostic event whose MarshalLog implementations recursively include span processor, exporter, and client configuration. Applications that call otel.SetLogger to enable OpenTelemetry internal Info logging can therefore record OTLP gRPC and HTTP collector endpoints, the OTLP HTTP Insecure flag, and complete Zipkin collector URLs. A person or system with access to those logs can learn internal collector topology and can recover credentials or tokens embedded in Zipkin URL user information or query strings. The default OpenTelemetry logger does not emit the event, and this path does not log OTLP authentication headers, TLS key material, or span payloads. This issue is fixed in version 1.45.0.
Which versions are affected by CVE-2026-81870?
15 open source packages ship an affected version, including go.opentelemetry.io/otel/exporters/otlp/otlptrace, go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc and go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp.
| Package | Affected | Fixed in |
|---|---|---|
go.opentelemetry.io/otel/exporters/otlp/otlptrace Go | From 1.5.0 | 1.45.0 |
go.opentelemetry.io/otel/exporters/otlp/otlptrace Go | From 1.5.0 | 1.45.0 |
go.opentelemetry.io/otel/exporters/otlp/otlptrace Go | From 1.5.0 | 1.45.0 |
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc Go | From 1.5.0 | 1.45.0 |
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc Go | From 1.5.0 | 1.45.0 |
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc Go | From 1.5.0 | 1.45.0 |
9 more packages
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp Go | From 1.5.0 | 1.45.0 |
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp Go | From 1.5.0 | 1.45.0 |
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp Go | From 1.5.0 | 1.45.0 |
go.opentelemetry.io/otel/exporters/zipkin Go | From 1.5.0 | 1.45.0 |
go.opentelemetry.io/otel/exporters/zipkin Go | From 1.5.0 | 1.45.0 |
go.opentelemetry.io/otel/exporters/zipkin Go | From 1.5.0 | 1.45.0 |
go.opentelemetry.io/otel/sdk Go | From 1.5.0 | 1.45.0 |
go.opentelemetry.io/otel/sdk Go | From 1.5.0 | 1.45.0 |
go.opentelemetry.io/otel/sdk Go | From 1.5.0 | 1.45.0 |
How do I fix CVE-2026-81870?
Upgrade go.opentelemetry.io/otel/exporters/otlp/otlptrace to 1.45.0 or later.
Is CVE-2026-81870 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-81870 exists.
Sources
Also known as AZL-103052, AZL-103077, AZL-103082, AZL-103116, AZL-103125, AZL-103128 and 822 more.