Skip to main content

OpenTelemetry dotnet CVE-2026-40894

| EUVDEUVD-2026-25269 MEDIUM
Memory Allocation with Excessive Size Value (CWE-789)
2026-04-23 GitHub_M GHSA-g94r-2vxg-569j
5.3
CVSS 3.1 · GitHub Advisory
Share

Severity by source

GitHub Advisory PRIMARY
5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
vuln.today AI
5.3 MEDIUM

Network-delivered via HTTP headers, no auth required, no complexity beyond sending a crafted header; impact is availability only with no confidentiality or integrity effect.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N

Primary rating from GitHub Advisory.

CVSS VectorGitHub Advisory

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
Low

Lifecycle Timeline

6
Source Code Evidence Fetched
Jul 24, 2026 - 04:38 vuln.today
Analysis Generated
Jul 24, 2026 - 04:38 vuln.today
Patch released
Apr 28, 2026 - 19:34 nvd
Patch available
Patch available
Apr 23, 2026 - 20:31 EUVD
EUVD ID Assigned
Apr 23, 2026 - 19:00 euvd
EUVD-2026-25269
CVE Published
Apr 23, 2026 - 18:03 nvd
MEDIUM 5.3

DescriptionGitHub Advisory

OpenTelemetry dotnet is a dotnet telemetry framework. In OpenTelemetry.Api 0.5.0-beta.2 to 1.15.2 and OpenTelemetry.Extensions.Propagators 1.3.1 to 1.15.2, The implementation details of the baggage, B3 and Jaeger processing code in the OpenTelemetry.Api and OpenTelemetry.Extensions.Propagators NuGet packages can allocate excessive memory when parsing which could create a potential denial of service (DoS) in the consuming application. This vulnerability is fixed in 1.15.3.

AnalysisAI

Uncontrolled memory allocation in OpenTelemetry dotnet's propagation header parsing exposes .NET applications to denial of service. OpenTelemetry.Api versions 0.5.0-beta.2 through 1.15.2 and OpenTelemetry.Extensions.Propagators versions 1.3.1 through 1.15.2 contain BaggagePropagator, B3Propagator, and JaegerPropagator implementations that eagerly allocate intermediate arrays before enforcing size limits, allowing malformed headers with excessive delimiter characters to trigger disproportionate memory consumption. No active exploitation is confirmed (not in CISA KEV), EPSS is extremely low at 0.02%, and a vendor-released patch exists at version 1.15.3.

Technical ContextAI

CWE-789 (Uncontrolled Memory Allocation) describes this root cause precisely: the vulnerable code allocates memory proportional to the raw input size before applying configured length limits, meaning an attacker controls the allocation magnitude. The affected propagators - BaggagePropagator (in OpenTelemetry.Api), B3Propagator (in both OpenTelemetry.Api and OpenTelemetry.Extensions.Propagators), and JaegerPropagator (in OpenTelemetry.Extensions.Propagators) - implement the W3C Baggage, B3, and Jaeger distributed tracing header formats respectively. Specifically, BaggagePropagator.Extract() and Inject() allocate intermediate arrays eagerly (introduced via PR #1048), B3Propagator.Extract() in both packages allocates before validation (PRs #533 and #3244), and JaegerPropagator.Extract() exhibits the same pattern (PR #3309). Additionally, BaggagePropagator.Inject() bypasses the 8192-character limit entirely when only one baggage item is present. The CPE identifiers confirm three affected components: cpe:2.3:a:open-telemetry:opentelemetry-dotnet, cpe:2.3:a:open-telemetry:opentelemetry.api, and cpe:2.3:a:open-telemetry:opentelemetry.extensions.propagators.

RemediationAI

Upgrade both OpenTelemetry.Api and OpenTelemetry.Extensions.Propagators to version 1.15.3, which is the vendor-confirmed fixed release available at https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.15.3. For applications that cannot immediately upgrade, configure the hosting HTTP server to enforce strict request header size limits: IIS enforces a default maxRequestLength and can be tuned via the system.webServer configuration to reject oversized headers before they reach the propagation parsing layer, which eliminates the attack surface without requiring a code change. Nginx and Apache equivalents (large_client_header_buffers and LimitRequestFieldSize respectively) provide similar mitigation. Note that these server-level limits protect against the header-based vector but do not address any code paths where baggage is injected programmatically from internal sources. Consulting the GHSA advisory at https://github.com/open-telemetry/opentelemetry-dotnet/security/advisories/GHSA-g94r-2vxg-569j is recommended for full mitigating-control guidance from the maintainers.

Share

CVE-2026-40894 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy