Repository navigation
chore: Update module go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc to v0.21.0 [SECURITY] - #81
Closed
renovate[bot] wants to merge 1 commit into
Conversation
Contributor
Author
ℹ️ Artifact update noticeFile name: go.modIn order to perform the update(s) described in the table above, Renovate ran the
Details:
|
renovate
Bot
force-pushed
the
renovate/go-go.opentelemetry.io-otel-exporters-otlp-otlplog-otlploggrpc-vulnerability
branch
from
October 13, 2026 18:32
8046c45 to
86c457f
Compare
renovate
Bot
force-pushed
the
renovate/go-go.opentelemetry.io-otel-exporters-otlp-otlplog-otlploggrpc-vulnerability
branch
from
October 13, 2026 22:27
86c457f to
cc0554f
Compare
…otlploggrpc to v0.21.0 [SECURITY]
renovate
Bot
force-pushed
the
renovate/go-go.opentelemetry.io-otel-exporters-otlp-otlplog-otlploggrpc-vulnerability
branch
from
October 14, 2026 00:54
cc0554f to
40e6869
Compare
auto-merge was automatically disabled
October 16, 2026 09:51
Pull request was closed
renovate
Bot
deleted the
renovate/go-go.opentelemetry.io-otel-exporters-otlp-otlplog-otlploggrpc-vulnerability
branch
October 16, 2026 09:52
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v0.20.0→v0.21.0OpenTelemetry-Go: Log gRPC exporter ignores env TLS certs, bypassing mTLS/pinning
CVE-2026-81871 / GHSA-w34q-cm8f-9c5x
More information
Details
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.newConfigresolves env-based TLS configuration intocfg.tlsCfgatexporters/otlp/otlplog/otlploggrpc/config.go:106-116. The finding also identifiesloadEnvTLSatconfig.go:451-492as the code that builds a*tls.ConfigcontainingRootCAsand client certificates fromOTEL_EXPORTER_OTLP[_LOGS]_CERTIFICATEandOTEL_EXPORTER_OTLP[_LOGS]_CLIENT_CERTIFICATE/KEY.However,
newGRPCDialOptionsinexporters/otlp/otlplog/otlploggrpc/client.go:83-92only checkscfg.gRPCCredentialsandcfg.insecure. When neither is set, which is the normal env-only TLS configuration path, it usescredentials.NewTLS(nil). That default trusts the host system root CAs and contains no env-supplied client certificate. The finding evidence reports no othertlsCfguse in the package, so env-based CA pinning and mTLS settings are loaded but not enforced.PoC
validation-artifact.zip
The validation artifact contains a ready-to-run test at
validation-artifact.zip:./poc_env_tls_ignored_test.goand brief instructions atvalidation-artifact.zip:./README.md.From a checkout of
pellared/opentelemetry-goat commitd99c76f, with Go module dependencies available:The test generates a private CA and a TLS gRPC logs server certificate signed by that CA. It sets:
Expected output includes an
unknown authorityfailure for the first export call even though the env certificate points to the server CA, followed by a passing test after the samecfg.tlsCfgis explicitly wired throughWithTLSCredentials:This demonstrates that the env CA is parsed into
cfg.tlsCfgbut 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.Severity
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.