CVE-2026-44967: OpenTelemetry-cpp HTTP Memory Exhaustion Denial of Service
OpenTelemetry-cpp, the C++ library for exporting observability data (traces, metrics, logs), has a flaw in how it handles HTTP responses from collector endpoints. Before version 1.27.0, the library reads entire HTTP responses into memory without any limit. An attacker who controls the collector endpoint—or intercepts the connection—can send arbitrarily large responses to exhaust the application's memory, causing it to crash or become unresponsive. This is a denial-of-service risk for applications instrumented with vulnerable versions of OpenTelemetry-cpp.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 5.3 MEDIUM · CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
- Weaknesses (CWE)
- CWE-789
- Affected products
- 1 configuration(s)
- Published / Modified
- 2026-06-12 / 2026-06-17
NVD description (verbatim)
OpenTelemetry-cpp is the C++ implementation of OpenTelemetry. Prior to release 1.27.0, the OTLP HTTP exporters (traces/metrics/logs) read the full HTTP response into an in-memory vector of bytes without a size cap. This is exploitable for memory exhaustion when the configured collector endpoint is attacker-controlled (or a network attacker can MITM the exporter connection). This vulnerability is fixed in opentelemetry-cpp release 1.27.0.
5 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-44967 is an uncontrolled resource consumption vulnerability (CWE-789) in the OTLP HTTP exporter implementations within OpenTelemetry-cpp prior to 1.27.0. The exporters for traces, metrics, and logs all exhibit the same pattern: they read incoming HTTP response bodies directly into a std::vector without enforcing a maximum size limit. An attacker positioned to control the remote endpoint or perform network-layer interception (MITM) can respond with HTTP bodies of arbitrary size, forcing unbounded memory allocation on the client side. The CVSS 3.1 score of 5.3 (MEDIUM, AV:A/AC:H) reflects that exploitation requires network proximity and is somewhat constrained by transport-layer factors, but impact on availability is classified as High.
Business impact
For any organization deploying OpenTelemetry-cpp to instrument containerized or cloud-native applications, this vulnerability introduces an availability risk. If the configured OTLP collector endpoint is on a shared or untrusted network, or if DNS/routing controls are weak, a malicious endpoint can trigger memory exhaustion in the instrumented application itself. In production Kubernetes clusters or multi-tenant environments, this could lead to Pod eviction, cascading failures, and degraded observability—ironically, during a time when monitoring is most critical. The severity is contained by the requirement for network control, but the blast radius can be significant if the collector endpoint is compromised or misconfigured.
Affected systems
The vulnerability affects OpenTelemetry-cpp versions prior to 1.27.0. All applications using the OTLP HTTP exporter for traces, metrics, or logs are at risk. This includes both direct library users and applications that depend on OpenTelemetry-cpp through transitive dependencies. No other OpenTelemetry language implementations (Python, Java, Go, etc.) are affected by this specific flaw. The vulnerability does not affect OpenTelemetry Protocol (OTLP) itself—only the C++ client-side handling of HTTP responses.
Exploitability
Exploitation requires the attacker to have control over the network path between the instrumented application and its configured collector endpoint, or to operate the collector endpoint itself. In on-premises deployments with tight network segmentation, the risk is lower. In cloud environments where the collector endpoint is remote and routing is less predictable, or in development/test environments where endpoint configuration may be looser, the attack surface is wider. The vulnerability does not require user interaction or special privileges; it is triggered automatically when the application initializes the exporter and connects to a malicious or compromised endpoint. Proof-of-concept is straightforward: any HTTP server responding with a large body will trigger the memory exhaustion.
Remediation
Upgrade to OpenTelemetry-cpp release 1.27.0 or later. Verify against the official project repository and release notes to confirm the patch addresses the OTLP HTTP exporter buffer handling. In the interim, restrict network egress and ingress policies to ensure the OTLP collector endpoint is reachable only from trusted sources, and audit endpoint configuration across all instrumented applications to confirm it points to legitimate, controlled infrastructure. Where upgrading is delayed, consider disabling the HTTP exporter temporarily and switching to alternative transport (e.g., gRPC) if available and patched.
Patch guidance
Review your OpenTelemetry-cpp dependency version across all codebases, including transitive dependencies declared in build manifests (vcpkg, Conan, CMake, etc.). Create a test environment that replicates your production endpoint configuration. Deploy the patched version (1.27.0+) and verify that exporter initialization and telemetry export function as expected—pay special attention to error handling and retry behavior, as the patch may alter how oversized responses are handled. In CI/CD pipelines, enforce a minimum version constraint for the OpenTelemetry-cpp dependency to prevent regression. Communicate the patch timeline to development teams to prioritize compilation and testing.
Detection guidance
Monitor for unusual memory growth or Out-of-Memory (OOM) events in processes running OpenTelemetry-cpp exporters, particularly if the growth correlates with network activity toward the configured OTLP collector. Check application logs and kernel logs (dmesg, journalctl) for memory allocation failures or process termination due to resource exhaustion. Network-level detection is more challenging but can include monitoring for large HTTP responses from the collector endpoint (e.g., responses > 1 GB in Content-Length header) that should not occur in normal telemetry export. If available, instrument the OpenTelemetry library itself to log response sizes before buffering.
Why prioritize this
This vulnerability should be prioritized as a medium-risk item for patching within the next 30–60 days, particularly for production deployments in multi-tenant or shared-network environments. The requirement for network control to exploit it lowers urgency compared to pre-auth remote code execution flaws, but the availability impact and the difficulty of detecting attacks in real time warrant proactive remediation. Applications in air-gapped or tightly segmented networks can defer patching with lower risk, but they should still be tracked for eventual update.
Risk score, explained
The CVSS 3.1 score of 5.3 (MEDIUM) balances low attack vector (network-adjacent, requiring MITM or endpoint control) and high complexity against a high availability impact. The score does not reflect loss of confidentiality or integrity, only denial of service. For organizations where telemetry is mission-critical or where the collector endpoint cannot be strictly controlled, the business risk may exceed the numeric CVSS rating. Conversely, for applications in secure, segmented networks with strong endpoint validation, practical risk is lower.
Frequently asked questions
Does this vulnerability affect my gRPC-based OTLP exporter?
No. CVE-2026-44967 is specific to the OTLP HTTP exporters (for traces, metrics, and logs). If your application uses the gRPC exporter variant, it is not affected by this flaw. However, verify your configuration and dependency to confirm which exporter you are actually using.
Can I work around this without patching?
As an interim measure, you can restrict network policies to allow the OTLP exporter to connect only to a known, trusted collector endpoint that you operate and monitor. Additionally, deploying memory limits (e.g., cgroups limits in Kubernetes) can prevent a single OOM event from crashing the entire pod, though this is not a true fix. The only complete remediation is to upgrade to 1.27.0 or later.
What if we use OpenTelemetry through a language binding or wrapper?
Verify whether your wrapper or binding uses the vulnerable opentelemetry-cpp library as a backend. If it does, you must update both the wrapper and the underlying C++ library. Check your build manifest and vendor documentation to trace the dependency chain.
Will this vulnerability be exploited in the wild?
This is a low-complexity exploit that requires only network control over the collector endpoint; no special tools or public exploits are required. It is not currently listed on the CISA Known Exploited Vulnerabilities (KEV) catalog. However, opportunistic attackers on compromised networks or cloud environments could leverage it. Remediation should proceed on a normal patch cycle, not emergency timescale, unless you have evidence of targeting.
This analysis is provided for informational purposes and reflects publicly available information as of the publication date. Security assessments are subject to change as additional details emerge or vendor guidance is updated. Organizations should verify all patch versions, supported versions, and remediation steps against the official OpenTelemetry project documentation and their vendor advisories. This is not a substitute for professional security assessment or incident response consultation. Use of this information is at your own risk. Source: NVD (public-domain), retrieved 2026-07-20. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-41178MEDIUMOpenTelemetry-Go Baggage Parsing DoS Vulnerability
- CVE-2026-47319MEDIUMrlottie Memory Allocation Vulnerability – Denial of Service Risk
- CVE-2026-52753MEDIUMGhidra Rust Symbol Memory Exhaustion Denial of Service
- CVE-2026-52759MEDIUMGhidra Mach-O Parser Memory Exhaustion Denial of Service
- CVE-2026-10142HIGHkafka-python Denial-of-Service in Protocol Parser
- CVE-2026-49975HIGHApache HTTP Server Memory Allocation DoS Vulnerability (2.4.17–2.4.67)
- CVE-2026-45287MEDIUMOpenTelemetry-Go File Descriptor Leak & Denial of Service
- CVE-2026-45676MEDIUMOpenTelemetry eBPF Instrumentation ELF Parser Denial of Service