Skip to main content

OpenTelemetry Python CVE-2026-112006

| EUVDEUVD-2026-103459 HIGH
Improper Certificate Validation (CWE-295)
2026-10-18 VulnCheck GHSA-6469-8p9h-mmvm
8.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain on-path MITM position between exporter and collector
  2. Exploit
    Detect empty OTEL_EXPORTER_OTLP_CERTIFICATE disabling TLS checks
  3. Execution
    Present forged cert and impersonate OTLP collector
  4. Impact
    Capture 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

opentelemetry-exporter-otlp-proto-http 1.5.0 <1.45.0

Affected Packages

euvd opentelemetry_exporter_otlp_proto_http fix: 1.45.0

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

Vendor (VulnCheck) PRIMARY 8.3 HIGH
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
vuln.today AI 6.5 MEDIUM

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.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

Why It Matters

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.

Business Impact: Medium
Compensating Controls

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

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Medium
popular cloud-native observability SDK, but one language-specific Python exporter package
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
Medium

Priority Score

42
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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