CVE-2026-81872: OpenTelemetry-Go BatchingProcessor CPU exhaustion via log emission

CVE-2026-81872 · Severity: medium · CVSS 4 · Published 2026-09-16

OpenTelemetry-Go's logging SDK can be forced into a resource-exhaustion state when attackers send high volumes of log messages while the exporter is slow or blocked. The logging processor enters a tight CPU loop repeatedly retrying without waiting, causing service degradation or denial of service in applications using this library. This impacts any system relying on OpenTelemetry for observability and log collection.

Technologies: Opentelemetry-Go. Vendors: Go, Opentelemetry.

Quick answers

Is CVE-2026-81872 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-81872 being exploited in the wild.
How severe is CVE-2026-81872?
Medium severity, with a CVSS score of 4, published 16 September 2026.
Which products and versions are affected?
go.opentelemetry.io/otel/sdk/log (Go) < 0.21.0, SEMVER:introduced=0,fixed=0.21.0; Opentelemetry-Go prior to 0.21.0.
Is there a fix for CVE-2026-81872?
Yes. go.opentelemetry.io/otel/sdk/log (Go): upgrade to 0.21.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-81872 attacked?
It is attacked over the network.
Am I affected by CVE-2026-81872?
Check whether you run go.opentelemetry.io/otel/sdk/log (Go) or Opentelemetry-Go at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • go.opentelemetry.io/otel/sdk/log (Go): upgrade to 0.21.0 or later
    go get go.opentelemetry.io/otel/sdk/log@v0.21.0

Technical details

The vulnerability is a denial-of-service condition in the BatchingProcessor's polling architecture (prior to version 0.21.0). The root cause is a tight retry loop in the poll goroutine that repeatedly checks queue.TryDequeue and bufferExporter.EnqueueExport without waiting for a scheduled interval when the export buffer is full and unable to accept more requests. When attacker-driven log emission fills the asynchronous export buffer while an exporter is backpressured (slow or blocked), the processor continuously signals itself instead of waiting for the next tick, causing CPU exhaustion. No authentication or special privileges are required—any process that can trigger log emission can trigger this condition. The vulnerability was fixed in version 0.21.0 by redesigning the processor to use a single worker goroutine that owns dequeueing and exporter calls, eliminating the no-progress retry path.

Affected products

  • OpenTelemetry OpenTelemetry-Go prior to 0.21.0

Identifiers

  • CVE-2026-81872
  • GHSA-hjf4-fphr-2h65
  • GO-2026-6615

Timeline

  • 2026-09-16: disclosed
  • 2026-07-24: patched: Fix released in version 0.21.0

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.