Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain on-path MITM position between exporter and collector
-
ExploitDetect empty OTEL_EXPORTER_OTLP_CERTIFICATE disabling TLS checks
-
ExecutionPresent forged cert and impersonate OTLP collector
-
ImpactCapture auth headers and read or alter telemetry
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V12 - Secure Communication Certificate validation
|
| Exploitation Conditions | Requires the OTEL_EXPORTER_OTLP_CERTIFICATE (CA certificate) environment variable to be set to an empty string rather than unset or a valid path, which causes the opentelemetry-exporter-otlp-proto-http exporter to disable TLS certificate verification entirely. In addition, the attacker must occupy a man-in-the-middle / on-path position on the network between the exporter and the OTLP/HTTP collector endpoint (reflected as AT:P in the CVSS 4.0 vector). Limiting factors: this is a non-default misconfiguration (an empty-string value, not normal usage), it only matters when exporting over TLS to a remote collector, and it requires active network interception capability - all of which substantially narrow the exploitable population versus the raw CVSS score. |
| Impact | This is a genuine but conditional risk, not a drop-everything emergency. The CVSS 4.0 base score of 8.3 (HIGH) rests on AV:N/AC:L/PR:N/UI:N with VC:H, but the AT:P flag is decisive: successful attack REQUIRES an attacker to already hold a man-in-the-middle position on the network path between the exporter and the OTLP collector, AND the victim must have the OTEL_EXPORTER_OTLP_CERTIFICATE variable set to an empty string so TLS verification is silently disabled. No EPSS score, SSVC decision, or KEV entry was provided in the input, and there is no indication of active exploitation. The flaw was reported by VulnCheck and a vendor patch (v1.45.0) is available, but no public exploit code is referenced. The high confidentiality impact (VC:H) is credible because disabled TLS verification lets an on-path attacker read exported traces, metrics, and logs and, critically, the authentication headers carried in OTEL_EXPORTER_OTLP_HEADERS - those stolen credentials can enable follow-on access. Net: a real priority only for deployments that both (a) run TLS-protected OTLP over HTTP and (b) set the certificate env var to an empty string, combined with an attacker who can intercept traffic; for everyone else the practical risk is low. The AT:P requirement and the empty-string misconfiguration gate are the key factors that temper the otherwise high base score. |
| Exploit ScenarioDerived | An attacker positioned on the network path (e.g. a compromised intermediary, rogue proxy, or ARP-spoofing peer on a shared segment) between an application and its OTLP collector detects that the exporter has TLS verification disabled because OTEL_EXPORTER_OTLP_CERTIFICATE is an empty string. The attacker presents a forged TLS certificate, impersonates the legitimate collector, and transparently intercepts the telemetry stream - harvesting the OTEL_EXPORTER_OTLP_HEADERS authentication tokens and optionally altering the traces, metrics, and logs before relaying them. No public exploit code is identified at time of analysis, but the technique is standard MITM interception requiring no special tooling. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 18, 2026
TLS certificate verification in the OpenTelemetry Python OTLP/HTTP exporter is silently disabled when the OTEL_EXPORTER_OTLP_CERTIFICATE environment variable is set to an empty string, allowing an unauthenticated on-path attacker to impersonate the OTLP collector and read or tamper with exported traces, metrics and logs - including the authentication headers configured via OTEL_EXPORTER_OTLP_HEADERS. Only deployments running opentelemetry-exporter-otlp-proto-http 1.5.0 through 1.44.x that export over TLS to a remote collector and carry this specific misconfiguration (empty string rather than unset or a valid CA bundle path) are exposed, and exploitation additionally requires the attacker to occupy a man-in-the-middle position on the export path. There is no CISA KEV listing and no public exploit identified at time of analysis, so this is a genuine but conditional risk rather than an emergency: the vendor has released a fix in 1.45.0.
RemediationAI
Vendor-released patch: 1.45.0. Upgrade opentelemetry-exporter-otlp-proto-http to 1.45.0 or later (release https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.45.0, fix commit https://github.com/open-telemetry/opentelemetry-python/commit/89cc68b9ea7e15969b4f042d63397bdc74a3d60e), noting that the fix refactors the exporter onto shared opentelemetry-exporter-otlp-common and opentelemetry-exporter-http-transport packages with urllib3 as the default HTTP backend - teams relying on a custom requests.Session must now install the requests extra and pass the session explicitly, so regression-test collector authentication and proxy settings after upgrading. Where an immediate upgrade is not possible, the decisive compensating control is configuration hygiene: ensure OTEL_EXPORTER_OTLP_CERTIFICATE is either entirely unset or points to a valid CA bundle file, and audit deployed manifests and container env blocks for empty-string assignments, since that single value is what disables verification; the trade-off is purely operational (config audit effort) but it fully removes the exposure. Additional containment: restrict exporter egress to the known collector host/IP and port with network policy or firewall rules so an on-path attacker has no reachable spoofing surface, at the cost of breaking failover or multi-region collectors; front the collector with mutual TLS or a client certificate (OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE / OTEL_EXPORTER_OTLP_CLIENT_KEY) so a rogue endpoint cannot complete the handshake even without CA verification, which requires certificate lifecycle management; and rotate any credentials carried in OTEL_EXPORTER_OTLP_HEADERS on hosts where an empty CA variable was observed, since those tokens should be assumed interceptable. Monitor exporter logs for TLS or certificate warnings and treat any such message as evidence of the misconfiguration.
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
The vulnerability is a CWE-295 improper certificate validation flaw in the Python OpenTelemetry OTLP/HTTP exporter. The exporter reads OTEL_EXPORTER_OTLP_CERTIFICATE to build the CA bundle passed to the HTTP client's certificate-verification parameter; because the code path treats an empty string as 'no certificate material supplied' rather than as an invalid value, an empty env var collapses verification to disabled instead of failing closed, so the exporter will happily complete a TLS handshake with any certificate the peer presents. The affected component is the Python package opentelemetry-exporter-otlp-proto-http (CPE cpe:2.3:a:opentelemetry:opentelemetry-exporter-otlp-proto-http), which historically used the requests library and, from the fix onward, was refactored onto shared opentelemetry-exporter-otlp-common and opentelemetry-exporter-http-transport packages with urllib3 as the default backend (changelog 5389, requests retained as an optional extra). The exporter is the telemetry egress path for OTLP/HTTP on port 4318 by default, and OTEL_EXPORTER_OTLP_HEADERS frequently carries collector API keys or bearer tokens, which is why unauthenticated traffic interception escalates to credential compromise as well as telemetry integrity loss. Our independent assessment scores this CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N: no privileges or user interaction are needed, but the attacker must be on-path (AT:P in the CVSS 4.0 vector) and the target must be misconfigured, which is why high attack complexity is the honest characterization despite the 8.3 CVSS 4.0 base score.
Know when Opentelemetry 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
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N
AC:H because exploitation demands both an on-path MITM position and the empty-string certificate misconfiguration; PR:N and UI:N as no victim privileges or interaction are needed; C:H (telemetry and auth headers exposed), I:L (telemetry can be altered), A:N.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
OpenTelemetry opentelemetry-exporter-otlp-proto-http 1.5.0 before 1.45.0 contains an improper certificate validation vulnerability that disables TLS verification when OTEL_EXPORTER_OTLP_CERTIFICATE variables are empty strings. Man-in-the-middle attackers can impersonate the collector to read or alter exported traces, metrics, and logs, including authentication headers from OTEL_EXPORTER_OTLP_HEADERS.
Executive ViewAI
A configuration-handling flaw in the OpenTelemetry Python OTLP/HTTP exporter (versions 1.5.0 through 1.44.x) can cause TLS certificate verification to be switched off whenever the collector certificate setting is present but empty, leaving observability traffic exposed to interception on the network path. The consequence for the organization is that trace, metric, and log data - along with any authentication headers sent alongside it - could be silently read or altered by someone positioned between our applications and the collector, undermining both the confidentiality of telemetry and the integrity of the data our teams use for monitoring and incident response. Exposure is narrow and conditional, so this is a contained remediation item rather than a broad compromise, but owners of observability pipelines should confirm their exporter configuration and version promptly.
Apply vendor patch. Until version 1.45.0 is deployed, ensure OTEL_EXPORTER_OTLP_CERTIFICATE is unset or set to a valid CA bundle path rather than an empty string, and restrict collector traffic to trusted network segments.
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.
More in Opentelemetry
View allThe OpenTelemetry Collector offers a vendor-agnostic implementation on how to receive, process and export telemetry data
OpenTelemetry-Go Contrib is a collection of third-party packages for OpenTelemetry-Go. Rated high severity (CVSS 7.5), t
OpenTelemetry-Go Contrib is a collection of third-party packages for OpenTelemetry-Go. Rated high severity (CVSS 7.5), t
OpenTelemetry, also known as OTel for short, is a vendor-neutral open-source Observability framework for instrumenting,
Database account usernames are silently emitted into telemetry traces by the OpenTelemetry JavaScript Contrib database i
A missing permission check in Jenkins OpenTelemetry Plugin 3.1543.v8446b_92b_cd64 and earlier allows attackers with Over
EUVD-2026-103459
GHSA-6469-8p9h-mmvm
NVD
CVE.org
EPSS
VulDB
Exploit-DB