Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-40894

CVE-2026-40894: OpenTelemetry dotnet DoS Vulnerability

CVE-2026-40894 is a denial of service flaw in OpenTelemetry dotnet caused by excessive memory allocation during baggage, B3, and Jaeger processing. This article covers technical details, affected versions, and mitigation.

Published:

CVE-2026-40894 Overview

A denial of service vulnerability has been identified in the OpenTelemetry .NET telemetry framework. The vulnerability exists in the baggage, B3, and Jaeger processing code within the OpenTelemetry.Api and OpenTelemetry.Extensions.Propagators NuGet packages. When parsing maliciously crafted input, these components can allocate excessive memory, potentially leading to resource exhaustion and denial of service in applications consuming these packages.

Critical Impact

Applications using affected OpenTelemetry .NET packages may experience memory exhaustion and service disruption when processing specially crafted telemetry data, impacting availability of critical monitoring and observability infrastructure.

Affected Products

  • OpenTelemetry.Api versions 0.5.0-beta.2 to 1.15.2
  • OpenTelemetry.Extensions.Propagators versions 1.3.1 to 1.15.2

Discovery Timeline

  • April 23, 2026 - CVE-2026-40894 published to NVD
  • April 23, 2026 - Last updated in NVD database

Technical Details for CVE-2026-40894

Vulnerability Analysis

This vulnerability is classified under CWE-789 (Memory Allocation with Excessive Size Value). The flaw resides in the parsing logic for distributed tracing context propagation formats, specifically affecting the baggage, B3, and Jaeger propagators implemented in the OpenTelemetry .NET SDK.

The OpenTelemetry framework is widely used for collecting telemetry data (metrics, logs, and traces) from distributed applications. The vulnerable components handle incoming HTTP headers that carry distributed tracing context between services. When these propagators encounter specially crafted header values, the parsing routines may allocate disproportionately large amounts of memory relative to the input size.

This memory allocation issue can be triggered remotely through network requests containing malicious header values, without requiring any authentication or user interaction. The impact is limited to availability, as the vulnerability does not allow for information disclosure or integrity violations.

Root Cause

The root cause is improper validation of input sizes before memory allocation in the context propagation parsing code. When processing baggage, B3, or Jaeger headers, the affected code paths do not adequately limit memory allocation based on input parameters, allowing an attacker to trigger excessive memory consumption through carefully constructed input values.

Attack Vector

The attack vector is network-based, requiring an attacker to send HTTP requests with malicious headers to an application using the vulnerable OpenTelemetry packages. The attack does not require authentication or privileges, and no user interaction is needed. An attacker can exploit this by:

  1. Identifying an application endpoint that processes distributed tracing headers
  2. Crafting HTTP requests with maliciously formed baggage, B3, or Jaeger context headers
  3. Sending repeated requests to exhaust server memory resources
  4. Causing service degradation or complete denial of service

For detailed technical information on the vulnerability mechanism, refer to the GitHub Security Advisory GHSA-g94r-2vxg-569j.

Detection Methods for CVE-2026-40894

Indicators of Compromise

  • Unusual memory consumption spikes in applications using OpenTelemetry .NET packages
  • Increased garbage collection activity without corresponding increase in legitimate traffic
  • Out-of-memory exceptions or application crashes in services processing distributed tracing headers
  • HTTP requests containing abnormally large or malformed baggage, b3, X-B3-*, or uber-trace-id headers

Detection Strategies

  • Monitor application memory usage patterns and set alerts for abnormal memory allocation rates
  • Implement request header size validation at the load balancer or API gateway level
  • Deploy SentinelOne agents to detect and alert on resource exhaustion patterns indicative of DoS attacks
  • Review application logs for parsing errors related to distributed tracing context headers

Monitoring Recommendations

  • Configure memory utilization alerts with appropriate thresholds for applications using OpenTelemetry
  • Implement rate limiting on endpoints that process distributed tracing headers
  • Monitor for repeated requests from single sources with large or malformed tracing headers
  • Enable SentinelOne's real-time monitoring capabilities to detect resource exhaustion attacks

How to Mitigate CVE-2026-40894

Immediate Actions Required

  • Upgrade OpenTelemetry.Api to version 1.15.3 or later immediately
  • Upgrade OpenTelemetry.Extensions.Propagators to version 1.15.3 or later immediately
  • Review and audit all applications using the affected NuGet packages
  • Implement header size limits at the ingress layer as a defense-in-depth measure

Patch Information

The vulnerability is fixed in OpenTelemetry .NET version 1.15.3. The fix addresses the memory allocation issues in the baggage, B3, and Jaeger propagator implementations. Organizations should update their NuGet package references to use the patched versions.

Related pull requests documenting the fix include:

Workarounds

  • Implement request header size limits at the reverse proxy or load balancer level to reject requests with excessively large tracing headers
  • Configure web application firewall (WAF) rules to filter malformed distributed tracing headers
  • Temporarily disable unused propagators (B3, Jaeger, or baggage) if your application does not require them
  • Implement application-level memory limits and circuit breakers to prevent complete service failure
bash
# Update OpenTelemetry packages to patched versions
dotnet add package OpenTelemetry.Api --version 1.15.3
dotnet add package OpenTelemetry.Extensions.Propagators --version 1.15.3

# Verify installed versions
dotnet list package --include-transitive | grep -i opentelemetry

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.