Bump xk6 OpenTelemetry trace exporters to 1.45.0 - #611
Merged
cleverchuk merged 2 commits intoSep 23, 2026
Merged
Conversation
Co-authored-by: cleverchuk <15526124+cleverchuk@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Fix OpenTelemetry-Go exporter config logging issue
Bump xk6 OpenTelemetry trace exporters to 1.45.0
Sep 22, 2026
cleverchuk
marked this pull request as ready for review
September 23, 2026 15:34
Contributor
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
The dependency updates are scoped, reviewed, and contain no unresolved issues.
Review effort: Lite
Findings: None
What changed in this PR
Updates xk6’s OpenTelemetry OTLP trace exporters to patched version v1.45.0 to address the reported vulnerability.
Changes:
- Upgraded three OTLP trace exporter modules.
- Refreshed corresponding
go.sumchecksums.
| File | Description |
|---|---|
long-running-test-arch/xk6/go.sum |
Updates checksums for the upgraded modules. |
long-running-test-arch/xk6/go.mod |
Pins the patched exporter dependency versions. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
xuan-cao-swi
approved these changes
Sep 23, 2026
cleverchuk
deleted the
copilot/fix-opentelemetry-logging-vulnerability
branch
September 23, 2026 15:41
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.
Tl;dr: Upgrade the xk6 module’s OpenTelemetry trace exporter deps from
v1.43.0tov1.45.0to clear CVE-2026-81870 / GHSA-8wmf-6v46-5gfg.Context:
The vulnerability affects OpenTelemetry-Go trace exporter config logging when verbose internal diagnostics are enabled. In
long-running-test-arch/xk6, the affected trace exporter modules were present as indirect deps atv1.43.0; this change lifts them to the minimum patched version and refreshes module resolution.Dependency update
go.opentelemetry.io/otel/exporters/otlp/otlptrace→v1.45.0go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc→v1.45.0go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp→v1.45.0Scope
/long-running-test-arch/xk6/go.modand/long-running-test-arch/xk6/go.sumgo get,go mod tidy) rather than hand-editing lock stateReachability Assessment
go.k6.io/k6/output -> go.k6.io/k6/lib -> go.k6.io/k6/internal/lib/trace -> otlptrace*Example resolved versions:
Test Plan:
cd long-running-test-arch/xk6 && go test ./...cd long-running-test-arch/xk6 && go list -m all | grep 'go.opentelemetry.io/otel/exporters/otlp/otlptrace'Test services data
Original prompt
This section details the Dependabot vulnerability alert you should resolve
<alert_title>OpenTelemetry-Go: Exporter config logging may leak endpoint URLs in info logs</alert_title>
<alert_description>### Summary
OpenTelemetry Go versions 1.5.0 through 1.44.0 can include trace exporter endpoint configuration in an internal diagnostic log emitted when an SDK
TracerProvideris created. The default OpenTelemetry logger does not emit this event. Exposure requires an application to install a logger that enables OpenTelemetry's internal Info-level diagnostics and for someone other than the intended audience to have access to those logs.The logged configuration can disclose the address of the trace collector and whether the OTLP/HTTP connection is configured as insecure. The Zipkin exporter logs its complete collector URL, so credentials in URL userinfo or tokens in the query string are also disclosed if an application embeds them there. OTLP authentication headers, TLS key material, and exported span data are not included in this log.
Exporter
MarshalLogimplementations that caused this configuration to be included in internal logs were introduced bya1fff3c.Details
When
sdk/trace.NewTracerProviderconstructs a provider, it records aTracerProvider createdinternal Info event containing the provider configuration. In affected versions, the configuration'sMarshalLogmethods recursively include:This causes the following values to be present in the event:
Insecureflag; andOpenTelemetry Go does not emit this event with its default logger, which only emits errors. An application must explicitly configure a sufficiently verbose logger with
otel.SetLogger. The requiredlogrverbosity is version-dependent:V(1)for this Info event; andV(4).OTLP header configuration is not part of the marshaled object, so credentials supplied with
WithHeadersor the corresponding environment variables are not exposed. The documented OTLPWithEndpointinput is a collector address rather than a credential-bearing URL. The higher-risk case is therefore the Zipkin collector URL, which is retained and logged in full, or an application passing sensitive data in an OTLP endpoint outside the documented format.Proof of concept
The following program demonstrates the behavior with OpenTelemetry Go 1.44.0. It deliberately places credentials and a token in the Zipkin collector URL and enables internal Info logging:
The
TracerProvider createdevent contains:For versions before 1.15.0, set
funcr.Options{Verbosity: 1}instead.Impact
This is a conditional disclosure through application logs. Affected applications must enable verbose OpenTelemetry internal diagnostics and configure a trace exporter containing information they do not intend to expose to readers of those logs. In that configuration, a person or system with log access can learn the trace collector address and internal network topology. If credentials or tokens are embedded directly in a Zipkin collector URL, those values can also be recovered from the logs.
There is no exposure with the default OpenTelemetry logger, and the vulnerable log is generated from local application configuration rather than remotely supplied span data. OTLP authentication headers, certificate or private-key contents, and telemetry payloads are not logged by this path.
Remediation
Upgrade the affected OpenTelemetry Go modules to version 1.45.0 or later. The fix in
3a1412dstops recursively marshaling exporter and client configuration and records their types instead.If an immediate upgrade is not possible: