Unbounded HTTP response body read in OpenTelemetry.Sampler.AWS
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- High
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-770.
Summary
The AWS X-Ray Remote Sampler package provides a sampler which can get sampling configurations from AWS X-Ray. Prior to 0.1.0-alpha.8, OpenTelemetry.Sampler.AWS reads unbounded HTTP response bodies from a configured AWS X-Ray remote sampling endpoint into memory. AWSXRaySamplerClient.DoRequestAsync called HttpClient.SendAsync followed by ReadAsStringAsync(), which materializes the entire HTTP response body into a single in-memory string with no size limit. The sampling endpoint is configurable via AWSXRayRemoteSamplerBuilder.SetEndpoint (default: http://localhost:2000). An attacker who controls the configured endpoint, or who can intercept traffic to it (MitM), can return an arbitrarily large response body. This causes unbounded heap allocation in the consuming process, leading to high transient memory pressure, garbage-collection stalls, or an OutOfMemoryException that terminates the process. This vulnerability is fixed in 0.1.0-alpha.8.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| open-telemetry | opentelemetry-dotnet-contrib | before 0.1.0-alpha.8 | 0.1.0-alpha.8 | Patch available | CNA |
| — | OpenTelemetry.Sampler.AWS (NuGet) | before 0.1.0-alpha.8 | 0.1.0-alpha.8 | Patch available | GHSA-28xm-prxc-5866 |
| — | OpenTelemetry.Resources.AWS (NuGet) | before 1.15.1 | 1.15.1 | Patch available | GHSA-28xm-prxc-5866 |
- opentelemetry-dotnet-contrib Vendoropen-telemetry Affected before 0.1.0-alpha.8 Fixed in 0.1.0-alpha.8 Patch available CNA
- OpenTelemetry.Sampler.AWS (NuGet) Vendor— Affected before 0.1.0-alpha.8 Fixed in 0.1.0-alpha.8 Patch available GHSA-28xm-prxc-5866
- OpenTelemetry.Resources.AWS (NuGet) Vendor— Affected before 1.15.1 Fixed in 1.15.1 Patch available GHSA-28xm-prxc-5866
Remediation
- Fix · CNA opentelemetry-dotnet-contrib (open-telemetry) Fixed in 0.1.0-alpha.8
- Fix · GHSA-28xm-prxc-5866 OpenTelemetry.Sampler.AWS (NuGet) Fixed in 0.1.0-alpha.8 Advisory →
- Fix · GHSA-28xm-prxc-5866 OpenTelemetry.Resources.AWS (NuGet) Fixed in 1.15.1 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-41173
- 2026-10-03 Alias added: GHSA-28xm-prxc-5866
References
Other 4
- https://github.com/open-telemetry/opentelemetry-dotnet-contrib/security/advisories/GHSA-28xm-prxc-5866
- https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/4100
- https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/4122
- https://github.com/open-telemetry/opentelemetry-dotnet-contrib
More open-telemetry vulnerabilities
- TI-2024-23957 OpenTelemetry Collector has a Denial of Service via Zip/Decompression Bomb sent over HTTP or gRPC CVSS 3.1HIGH 8.2
- TI-2026-42706 OpenTelemetry JavaScript: Denial of service in `JaegerPropagator` via unhandled exception on a malformed header CVSS 3.1HIGH 7.5
- TI-2026-33428 OpenTelemetry eBPF Instrumentation: Memcached payload length overflow can crash OBI CVSS 3.1HIGH 7.5
- TI-2026-33427 OpenTelemetry eBPF Instrumentation: MongoDB parser panics on malformed wire messages CVSS 3.1HIGH 7.5
- TI-2026-33420 OpenTelemetry eBPF Instrumentation: Postgres BIND parsing can panic on malformed payloads CVSS 3.1HIGH 7.5
- TI-2026-32777 opentelemetry-js: Prometheus exporter process crash via malformed HTTP request CVSS 3.1HIGH 7.5
Sources
- CVE-2026-41173 · CVE Program
- CVE-2026-41173 · NVD
- FIRST EPSS
- GHSA-28xm-prxc-5866 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences