Public mode

No access to your tenant or devices. Every item links to its source. What this means

Some sources, documents or advisories need attention: 274/275 feeds/APIs · 469/469 docs · 8/9 advisories · checked 08:00 UTC Customize Public modeDiscuss ChangeIntel on Discord

OpenTelemetry-Go: Log gRPC exporter ignores env TLS certs, bypassing mTLS/pinning

Collected exploitation and prediction evidence

Risk source coverage

CISA KEV is observed exploitation evidence. FIRST EPSS is a dated prediction of exploitation in the next 30 days. Missing scores are unknown. This collector requests predictions only for explicit CVE aliases in the public NuGet archive; Microsoft release views retain their existing prediction scope.

No collected risk observation for these identifiers. This does not establish absence of exploitation or a zero probability.

cve-program · CVE-2026-81871

Published

OpenTelemetry-Go is the Go implementation of OpenTelemetry. Prior to version 0.21.0, the exporters/otlp/otlplog/otlploggrpc package loads OTEL_EXPORTER_OTLP_LOGS_CERTIFICATE, OTEL_EXPORTER_OTLP_CERTIFICATE, and related client certificate environment variables through loadEnvTLS into cfg.tlsCfg, but newGRPCDialOptions does not apply cfg.tlsCfg when creating gRPC transport credentials. The environment-only TLS path instead uses credentials.NewTLS with system roots and no configured client certificate, bypassing intended private CA pinning and mutual TLS unless the application also supplies WithTLSCredentials. A network attacker able to intercept or spoof the collector connection with a system-trusted certificate can read or alter log telemetry. This issue is fixed in version 0.21.0.

Source published
16 Sep 2026 20:43:40 UTC
Source modified
17 Sep 2026 19:24:00 UTC
Observed here
23 Oct 2026 15:48:27 UTC
Source terms
CVE Program Terms of Use

Original source record · Cite this exact observation · Complete original publisher JSON

This view projects the publisher's source fields for reading; the original JSON retains additional fields and CVE enrichment containers. Attribution: cve-program · CVE Program Terms of Use. Source text is retained; field grouping and change labels are provided by ChangeIntel.

CVSS 4.0 · 6.3 CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

euvd · EUVD-2026-81262

Published

OpenTelemetry-Go is the Go implementation of OpenTelemetry. Prior to version 0.21.0, the exporters/otlp/otlplog/otlploggrpc package loads OTEL_EXPORTER_OTLP_LOGS_CERTIFICATE, OTEL_EXPORTER_OTLP_CERTIFICATE, and related client certificate environment variables through loadEnvTLS into cfg.tlsCfg, but newGRPCDialOptions does not apply cfg.tlsCfg when creating gRPC transport credentials. The environment-only TLS path instead uses credentials.NewTLS with system roots and no configured client certificate, bypassing intended private CA pinning and mutual TLS unless the application also supplies WithTLSCredentials. A network attacker able to intercept or spoof the collector connection with a system-trusted certificate can read or alter log telemetry. This issue is fixed in version 0.21.0.

EUVD source date text has no stated timezone and is retained without inventing a UTC instant. Related bulletin membership is not an alias, common cause or applicability claim. A missing vector with a zero score is treated as unrated. Complete vendor/product and underlying source evidence remains in the original JSON.

Original publisher date fields

datePublished: Sep 16, 2026, 8:43:40 PM

dateUpdated: Sep 17, 2026, 7:24:00 PM

27 related source bulletins · separate from aliases

RHSA-2026:68729: Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update

CVE-2026-56851 · CVE-2026-63209 · CVE-2026-81871 · CVE-2026-81872 · CVE-2026-93450

RHSA-2026:68932: Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update

CVE-2026-81871

RHSA-2026:68926: Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update

CVE-2026-14199 · CVE-2026-81871 · CVE-2026-81872 · CVE-2026-92599

openSUSE-SU-2026:11875-1: helm-4.3.0-3.1 on GA media

CVE-2026-81871 · CVE-2026-81872

openSUSE-SU-2026:22010-1: Security update for distribution

CVE-2026-81871 · CVE-2026-81872

msrc_CVE-2026-81871: OpenTelemetry-Go: Log gRPC exporter ignores env TLS certs, bypassing mTLS/pinning

CVE-2026-81871

SUSE-SU-2026:23984-1: Security update for helm

CVE-2026-33814 · CVE-2026-35204 · CVE-2026-35205 · CVE-2026-35206 · CVE-2026-41178 · CVE-2026-41888 · CVE-2026-48978 · CVE-2026-50151 · CVE-2026-50163 · CVE-2026-56852 · CVE-2026-56854 · CVE-2026-56855 · CVE-2026-56864 · CVE-2026-56865 · CVE-2026-78662 · CVE-2026-81871 · CVE-2026-81872 · CVE-2026-85732

RHSA-2026:68912: Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update

CVE-2026-81871

RHSA-2026:74865: Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update

CVE-2026-81871

RHSA-2026:68903: Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update

CVE-2026-81871

RHSA-2026:68715: Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update

CVE-2026-81871 · CVE-2026-81872

RHSA-2026:68821: Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update

CVE-2026-28374 · CVE-2026-28376 · CVE-2026-28379 · CVE-2026-28380 · CVE-2026-28383 · CVE-2026-33376 · CVE-2026-33377 · CVE-2026-33378 · CVE-2026-33380 · CVE-2026-33381 · CVE-2026-61709 · CVE-2026-81871 · CVE-2026-81872 · CVE-2026-92599

SUSE-SU-2026:23973-1: Security update for helm

CVE-2026-33814 · CVE-2026-35204 · CVE-2026-35205 · CVE-2026-35206 · CVE-2026-41178 · CVE-2026-41888 · CVE-2026-48978 · CVE-2026-50151 · CVE-2026-50163 · CVE-2026-56852 · CVE-2026-56854 · CVE-2026-56855 · CVE-2026-56864 · CVE-2026-56865 · CVE-2026-78662 · CVE-2026-81871 · CVE-2026-81872 · CVE-2026-85732

RHSA-2026:68777: Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update

CVE-2026-61709 · CVE-2026-81871

SUSE-SU-2026:23990-1: Security update for distribution

CVE-2026-81871 · CVE-2026-81872

openSUSE-SU-2026:21983-1: Security update for helm

CVE-2026-33814 · CVE-2026-35204 · CVE-2026-35205 · CVE-2026-35206 · CVE-2026-41178 · CVE-2026-41888 · CVE-2026-48978 · CVE-2026-50151 · CVE-2026-50163 · CVE-2026-56852 · CVE-2026-56854 · CVE-2026-56855 · CVE-2026-56864 · CVE-2026-56865 · CVE-2026-78662 · CVE-2026-81871 · CVE-2026-81872 · CVE-2026-85732

openSUSE-SU-2026:11872-1: distribution-registry-3.1.1-8.1 on GA media

CVE-2026-81871 · CVE-2026-81872

RHSA-2026:68716: Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update

CVE-2026-81871 · CVE-2026-81872

openSUSE-SU-2026:12114-1: alloy-1.20.1-1.1 on GA media

CVE-2026-14362 · CVE-2026-63209 · CVE-2026-81871 · CVE-2026-81872 · CVE-2026-84303 · CVE-2026-84304 · CVE-2026-84445

RHSA-2026:74948: Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update

CVE-2026-56851 · CVE-2026-81871

RHSA-2026:68778: Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update

CVE-2026-28374 · CVE-2026-28376 · CVE-2026-28379 · CVE-2026-28380 · CVE-2026-28383 · CVE-2026-33376 · CVE-2026-33377 · CVE-2026-33378 · CVE-2026-33380 · CVE-2026-33381 · CVE-2026-42127 · CVE-2026-81871 · CVE-2026-81872 · CVE-2026-92599

openSUSE-SU-2026:11892-1: helm3-3.22.0-2.1 on GA media

CVE-2026-81871 · CVE-2026-81872

RHSA-2026:68905: Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update

CVE-2026-81871 · CVE-2026-81872

RHSA-2026:68910: Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update

CVE-2026-81871 · CVE-2026-81872

SUSE-SU-2026:24282-1: Security update for helm

CVE-2026-33814 · CVE-2026-35204 · CVE-2026-35205 · CVE-2026-35206 · CVE-2026-41178 · CVE-2026-41888 · CVE-2026-48978 · CVE-2026-50151 · CVE-2026-50163 · CVE-2026-56852 · CVE-2026-56854 · CVE-2026-56855 · CVE-2026-56864 · CVE-2026-56865 · CVE-2026-63209 · CVE-2026-78662 · CVE-2026-81870 · CVE-2026-81871 · CVE-2026-81872 · CVE-2026-85732

RHSA-2026:68717: Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update

CVE-2026-56851 · CVE-2026-63209 · CVE-2026-81871 · CVE-2026-81872 · CVE-2026-93450

RHSA-2026:68941: Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update

CVE-2026-81871

Source published
Sep 16, 2026, 8:43:40 PM (timezone not stated)
Source modified
Sep 17, 2026, 7:24:00 PM (timezone not stated)
Observed here
11 Nov 2026 16:10:31 UTC
Source terms
ENISA EUVD · source terms and attribution apply

Original source record · Cite this exact observation · Complete original publisher JSON

This view projects the publisher's source fields for reading; the original JSON retains additional fields and CVE enrichment containers. Attribution: euvd · ENISA EUVD · source terms and attribution apply. Source text is retained; field grouping and change labels are provided by ChangeIntel.

EUVD CVSS 4.0 · 6.3 CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

nvd · CVE-2026-81871

Published

OpenTelemetry-Go is the Go implementation of OpenTelemetry. Prior to version 0.21.0, the exporters/otlp/otlplog/otlploggrpc package loads OTEL_EXPORTER_OTLP_LOGS_CERTIFICATE, OTEL_EXPORTER_OTLP_CERTIFICATE, and related client certificate environment variables through loadEnvTLS into cfg.tlsCfg, but newGRPCDialOptions does not apply cfg.tlsCfg when creating gRPC transport credentials. The environment-only TLS path instead uses credentials.NewTLS with system roots and no configured client certificate, bypassing intended private CA pinning and mutual TLS unless the application also supplies WithTLSCredentials. A network attacker able to intercept or spoof the collector connection with a system-trusted certificate can read or alter log telemetry. This issue is fixed in version 0.21.0.

NVD analysis and CPE criteria are source context, not proof that a package or your environment is affected. Complete affected data, logical configurations and SSVC are retained in the original JSON.

Source analysis status: Awaiting Analysis

Weakness classifications: CWE-295 · CWE-923

Original publisher date fields

published: 2026-09-16T21:17:22.323

lastModified: 2026-09-30T17:31:44.573

Source published
16 Sep 2026 21:17:22 UTC
Source modified
30 Sep 2026 17:31:44 UTC
Observed here
25 Oct 2026 16:19:10 UTC
Source terms
NIST NVD usage terms; underlying source attribution retained

Original source record · Cite this exact observation · Complete original publisher JSON

This view projects the publisher's source fields for reading; the original JSON retains additional fields and CVE enrichment containers. Attribution: nvd · NIST NVD usage terms; underlying source attribution retained. Source text is retained; field grouping and change labels are provided by ChangeIntel.

CVSS 4.0 · [email protected] · Secondary · 6.3 CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

osv · GHSA-w34q-cm8f-9c5x

Published

### Summary The OTLP log gRPC exporter loads TLS settings from environment variables but does not apply them when creating gRPC transport credentials. Operators who rely on `OTEL_EXPORTER_OTLP_LOGS_CERTIFICATE`, `OTEL_EXPORTER_OTLP_CERTIFICATE`, or related client certificate variables for CA pinning or mTLS get a connection that falls back to system roots and omits the env-supplied client certificate. A network attacker who can intercept or spoof the collector connection with a system-trusted certificate can read or alter log telemetry. Introduced in commit: d99c76f ### Details The affected code is in `exporters/otlp/otlplog/otlploggrpc`. `newConfig` resolves env-based TLS configuration into `cfg.tlsCfg` at `exporters/otlp/otlplog/otlploggrpc/config.go:106-116`. The finding also identifies `loadEnvTLS` at `config.go:451-492` as the code that builds a `*tls.Config` containing `RootCAs` and client certificates from `OTEL_EXPORTER_OTLP[_LOGS]_CERTIFICATE` and `OTEL_EXPORTER_OTLP[_LOGS]_CLIENT_CERTIFICATE`/`KEY`. However, `newGRPCDialOptions` in `exporters/otlp/otlplog/otlploggrpc/client.go:83-92` only checks `cfg.gRPCCredentials` and `cfg.insecure`. When neither is set, which is the normal env-only TLS configuration path, it uses `credentials.NewTLS(nil)`. That default trusts the host system root CAs and contains no env-supplied client certificate. The finding evidence reports no other `tlsCfg` use in the package, so env-based CA pinning and mTLS settings are loaded but not enforced. ### PoC [validation-artifact.zip](https://github.com/user-attachments/files/27493589/validation-artifact.zip) The validation artifact contains a ready-to-run test at `validation-artifact.zip:./poc_env_tls_ignored_test.go` and brief instructions at `validation-artifact.zip:./README.md`. From a checkout of `pellared/opentelemetry-go` at commit `d99c76f`, with Go module dependencies available: ```sh FINDING_DIR=/path/to/02-e6e2897a969c8191b260f243fbc99ebd-log-grpc-exporter-ignores-env-tls-certs-bypassing-mtls-pinning cd /path/to/opentelemetry-go git checkout d99c76f tar -xOf validation-artifact.tar ./poc_env_tls_ignored_test.go > exporters/otlp/otlplog/otlploggrpc/poc_env_tls_ignored_test.go cd exporters/otlp/otlplog/otlploggrpc GO111MODULE=on go test -v -run TestEnvTLSIgnored -count=1 ``` The test generates a private CA and a TLS gRPC logs server certificate signed by that CA. It sets: ```sh OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=https://127.0.0.1:<test-port> OTEL_EXPORTER_OTLP_LOGS_CERTIFICATE=<temp-dir>/ca.pem ``` Expected output includes an `unknown authority` failure for the first export call even though the env certificate points to the server CA, followed by a passing test after the same `cfg.tlsCfg` is explicitly wired through `WithTLSCredentials`: ```text === RUN TestEnvTLSIgnored poc_env_tls_ignored_test.go:...: export error (expected due to ignored tlsCfg): ... x509: certificate signed by unknown authority --- PASS: TestEnvTLSIgnored PASS ``` This demonstrates that the env CA is parsed into `cfg.tlsCfg` but ignored by the default gRPC dial path. ### Impact This is improper TLS certificate validation and endpoint authentication caused by ignoring configured trust material. Users of the OTLP log gRPC exporter who configure TLS, CA pinning, or mTLS through environment variables are impacted when they do not also supply explicit `WithTLSCredentials`. TLS still occurs with system roots, but the intended private CA pinning and client certificate authentication are bypassed. An attacker with a suitable network position and a system-trusted certificate for the collector endpoint can intercept or tamper with log telemetry that operators expected to be protected by the configured CA or mTLS policy.

Source published
17 Sep 2026 20:31:09 UTC
Source modified
28 Sep 2026 17:10:47 UTC
Observed here
24 Oct 2026 13:19:41 UTC
Source terms
GitHub Advisory Database · CC-BY-4.0

Original source record · Cite this exact observation · Complete original publisher JSON

This view projects the publisher's source fields for reading; the original JSON retains additional fields and CVE enrichment containers. Attribution: osv · GitHub Advisory Database · CC-BY-4.0. Source text is retained; field grouping and change labels are provided by ChangeIntel.

CVSS_V4 · CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Publisher rating · MODERATE

osv · GO-2026-6508

Published

OpenTelemetry-Go: Log gRPC exporter ignores env TLS certs, bypassing mTLS/pinning in go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc

Source published
28 Sep 2026 16:43:40 UTC
Source modified
28 Sep 2026 17:00:16 UTC
Observed here
24 Oct 2026 13:19:41 UTC
Source terms
OSV · upstream source license applies

Original source record · Cite this exact observation · Complete original publisher JSON

This view projects the publisher's source fields for reading; the original JSON retains additional fields and CVE enrichment containers. Attribution: osv · OSV · upstream source license applies. Source text is retained; field grouping and change labels are provided by ChangeIntel.

ChangeIntel

An IT change radar: releases, security, known issues, retirements, documentation changes, and service status from public sources. Every item links to supporting evidence; dates and statuses can change after they are read.

Sources read 12 Nov 08:00 UTC · 274 of 275 readable · 272 fully read · documentation 469/469 current