Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessControl or impersonate OTLP collector endpoint
-
DeliveryReceive legitimate export HTTP request from instrumented process
-
ExploitReturn HTTP response with arbitrarily large body
-
ExecutionCurl WriteMemoryCallback appends data without size limit
-
PersistProcess heap exhausted
-
ImpactOOM kill crashes instrumented service
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory allocation limits
|
| Exploitation Conditions | Exploitation requires that the OTLP HTTP exporter (for traces, metrics, or logs) be configured to send data to a collector endpoint the attacker can influence. Two distinct preconditions enable this: (1) the configured collector endpoint is directly attacker-controlled - for example, an exporter misconfigured to point to an attacker's server, or a legitimate collector that has been compromised; or (2) the attacker occupies a network position allowing MITM interception of the unencrypted (or improperly TLS-validated) exporter-to-collector HTTP connection. Exploitation is limited to the availability impact of the instrumented process - no credential theft or data exfiltration is possible via this vector. Deployments using mTLS with certificate pinning between exporter and collector, or those running in isolated network segments where MITM is not feasible and the collector is trusted infrastructure, are not realistically exploitable. The vulnerability does NOT affect OTLP gRPC exporters or file-based exporters - only the HTTP transport path is affected. |
| Impact | The CVSS base score of 5.3 (AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H) reflects a constrained attack surface: the adjacent-network vector and high complexity acknowledge that the attacker must either occupy a MITM position on the exporter's network segment or have already achieved control over the collector endpoint. The availability-only impact (A:H, C:N, I:N) is accurate - this is a targeted DoS with no lateral data exposure. EPSS at 0.02% confirms no current widespread exploitation tooling. The vulnerability is not in CISA KEV. However, the risk in specific deployment contexts is higher than the raw score implies: organizations exporting telemetry to third-party SaaS collectors, multi-tenant collector infrastructure, or over untrusted network segments face a realistic threat model. A compromised or rogue collector can crash any connected instrumented service repeatedly, making this an availability concern for observability pipelines in adversarial environments. The 'Information Disclosure' tag in the input data is inconsistent with the description and CVSS impact metrics - this is a DoS vulnerability, not an information disclosure issue; that tag should be treated as erroneous. |
| Exploit ScenarioDerived | An attacker with control over the OTLP collector endpoint - achieved through supply-chain compromise of a shared collector, DNS/ARP poisoning on an internal network, or misconfiguration pointing the exporter at an attacker-owned host - returns an HTTP response with a multi-gigabyte body to any export request (traces, metrics, or logs). The instrumented C++ process allocates the full response into heap memory without bound, triggering an OOM kill or process crash, disrupting the service and eliminating its telemetry pipeline simultaneously. No public exploit code has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 12, 2026
Memory exhaustion in opentelemetry-cpp OTLP HTTP exporters (traces, metrics, logs) prior to 1.27.0 allows an attacker who controls the configured collector endpoint - or occupies a MITM position on the network path - to crash the instrumented process by returning an arbitrarily large HTTP response body. The curl-based HTTP client read response data into an unbounded in-memory buffer via io-equivalent copy with no size limit, making peak heap allocation entirely attacker-controlled. No public exploit has been identified at time of analysis, and EPSS at 0.02% (6th percentile) indicates low opportunistic exploitation probability, though the targeted threat model (supply-chain-adjacent collector compromise) is realistic in telemetry-heavy environments.
RemediationAI
Upgrade opentelemetry-cpp to release 1.27.0, which caps HTTP response body allocation at 4MiB by default (kDefaultMaxResponseSize = 4 * 1024 * 1024) in the curl HTTP client, with overflow-safe arithmetic guarding all three write callbacks. The fix is detailed in PR #4078 at https://github.com/open-telemetry/opentelemetry-cpp/pull/4078 and the security advisory at https://github.com/open-telemetry/opentelemetry-cpp/security/advisories/GHSA-5qhm-4rfp-qqvj. If immediate upgrade is not possible, the primary compensating control is ensuring OTLP HTTP exporters only connect to collector endpoints over mutually authenticated TLS (mTLS), which prevents network-level MITM attacks and limits exploitation to cases where the collector endpoint itself is compromised. Deploying network segmentation to restrict exporter traffic to trusted collector infrastructure reduces the MITM attack surface. Note that the SetMaxResponseSize() API introduced in 1.27.0 also allows operators to tune the cap below 4MiB if needed. For opentelemetry-go deployments, upgrade otlptrace/otlpmetric exporters to 1.43.0 and otlplog to 0.19.0 separately.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
OpenTelemetry-cpp (CPE: cpe:2.3:a:open-telemetry:opentelemetry-cpp:*:*:*:*:*:*:*:*) implements the OTLP HTTP exporter protocol using libcurl. The WriteMemoryCallback, WriteVectorHeaderCallback, and WriteVectorBodyCallback functions in ext/src/http/client/curl/http_operation_curl.cc each called raw insert() on a std::vector<unsigned char> without an upper bound, controlled entirely by the size the remote endpoint chose to send. CWE-789 (Uncontrolled Memory Allocation) precisely characterizes the root cause: attacker-influenced input (the HTTP response body size) directly determines allocation size with no validation gate. An identical pattern was independently confirmed in opentelemetry-go (GHSA-w8rr-5gcm-pp58), affecting otlptrace/otlptracehttp, otlpmetric/otlpmetrichttp, and otlplog/otlploghttp components, indicating this is a systemic design omission across the OpenTelemetry OTLP HTTP client ecosystem. The fix in 1.27.0 imposes a 4MiB cap (kDefaultMaxResponseSize) consistent with the opentelemetry-proto specification recommendation, with overflow-safe arithmetic and three defensive checks in each callback.
Know when Opentelemetry Cpp gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
AV:N because attacker-controlled remote endpoint is the primary threat model; AC:H because exploitation requires either MITM positioning or endpoint compromise; PR:N since no auth is needed from the attacker side.
Primary rating from Vendor (GitHub_M).
CVSS VectorNVD
Lifecycle Timeline
1DescriptionNVD
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.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
EUVD-2026-36466
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB