Repository navigation
chore(deps): update module go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc to v1.45.0 [security] - autoclosed - #4310
Conversation
ℹ️ Artifact update noticeFile name: go.modIn order to perform the update(s) described in the table above, Renovate ran the
Details:
|
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configurationConfiguration used: Repository: cozystack/cozystack/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
4095f04 to
8d7a8a3
Compare
…lptrace/otlptracegrpc to v1.45.0 [security]
8d7a8a3 to
7a30d5c
Compare
…4447) ## What this PR does This replaces the open Renovate PRs with one rollup. Go modules move to their newest releases that keep the Kubernetes libraries and controller-runtime where they are, the toolchain and builder images move to Go 1.27.1, and the first-party code gets the Go 1.27 modernizers. Tests for the code the bumps touch come first, in their own commits, and pass on both the old and the new dependencies. Before the bumps: - The e2e sandbox image builds again: dl.min.io answers 410 for mc since MinIO archived it, so mc now comes from its last GitHub release with a pinned checksum. - Renovate stops offering tags of the apimachinery fork. They mirror upstream, so #2999 is a downgrade that drops our patch. - `make unit-tests` now runs the tests of the nested Go modules (kubevirt-csi-driver, token-proxy, kubeovn-webhook, api/apps/v1alpha1). They never ran in CI before. - New tests: JWT verification in the dashboard token proxy, the kube-ovn plunger metrics, cert-manager object idempotency in the tenant gateway, values-file layering in the operator, and the kubevirt CSI driver wrapper. - One real fix. The lineage webhook decoded admitted objects with encoding/json, so an int64 above 2^53 came back rounded. jsonpatch v2.5 compares numbers exactly and would emit a replace that rewrites such a field in the pod. The webhook now decodes with apimachinery's json. Held back on purpose, with the reasons in the commit messages: - Kubernetes libraries stay on v0.35. #3001 needs the apimachinery fork rebased onto release-1.37 first. - cel-go v0.29.2 and etcd v3.6.15, the lines k8s.io/apiserver v0.35 is built and tested with. - grpc v1.83.2. v1.84.0 is affected by GO-2026-6443 and no v1.84 patch release carries the fix yet. - kubevirt.io/api and the CDI API stay on what upstream csi-driver builds against. From CDI v1.60 it no longer compiles. - api/apps/v1alpha1 keeps go 1.26.4, so consumers of the published types are not forced onto Go 1.27. - go fix runs without embedlit (Go 1.27-only syntax, breaks backports to release branches on Go 1.26) and omitzero (would make metadata, spec and status required in the published OpenAPI schemas), and one errorsastype rewrite that did not compile is left out. govulncheck reports nothing reachable in any of the five modules, standard library included. Supersedes #4311, #4310, #4309, #3452, #3993, #3927, #3902, #3805, #3451, #3415, #3414, #3413, #3302, #4050 and #3363. #3001 stays open. Not checked locally: the images that build upstream projects (kube-ovn, kamaji, cilium, linstor-csi and others) with the Go 1.27 builder. The image build jobs of this PR cover them. Closes #4487. ### Screenshots No UI changes. ### Downstream repositories - [x] No downstream repository is affected by this change - [ ] [cozystack/website](https://github.com/cozystack/website) - follow-up: - [ ] [cozystack/terraform-provider-cozystack](https://github.com/cozystack/terraform-provider-cozystack) - follow-up: - [ ] [cozystack/ansible-cozystack](https://github.com/cozystack/ansible-cozystack) - follow-up: - [ ] [cozystack/ccp](https://github.com/cozystack/ccp) - follow-up: - [ ] [cozystack/talm](https://github.com/cozystack/talm) - follow-up: - [ ] [cozystack/cozyhr](https://github.com/cozystack/cozyhr) - follow-up: - [ ] [cozystack/cozy-proxy](https://github.com/cozystack/cozy-proxy) - follow-up: - [ ] [cozystack/cozystack-telemetry-server](https://github.com/cozystack/cozystack-telemetry-server) - follow-up: - [ ] [cozystack/external-apps-example](https://github.com/cozystack/external-apps-example) - follow-up: - [ ] [cozystack/examples](https://github.com/cozystack/examples) - follow-up: - [ ] [cozystack/community](https://github.com/cozystack/community) - follow-up: ### Release note ```release-note chore(deps): move the toolchain and builder images to Go 1.27.1 and raise Go dependencies to their latest compatible releases, closing the published advisories; the lineage webhook no longer rewrites int64 fields above 2^53 in admitted objects. ``` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added a restore resource policy option for Velero strategies. * Added a test target to run Go tests across tracked modules. * **Bug Fixes** * Updated the end-to-end test environment to download and verify the MinIO client from its current release location. * Added coverage for token validation, webhook patching, controller behavior, and reconciliation. * **Maintenance** * Updated the Go toolchain, dependencies, and container image versions. * Refreshed pinned workflow actions and base image digests. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This PR contains the following updates:
v1.43.0→v1.45.0OpenTelemetry-Go: Exporter config logging may leak endpoint URLs in info logs
CVE-2026-81870 / GHSA-8wmf-6v46-5gfg
More information
Details
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:
Severity
CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
OpenTelemetry-Go: Exporter config logging may leak endpoint URLs in info logs
CVE-2026-81870 / GHSA-8wmf-6v46-5gfg
More information
Details
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:
Severity
CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Release Notes
open-telemetry/opentelemetry-go (go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc)
v1.45.0Compare Source
v1.44.0: /v0.66.0/v0.20.0/v0.0.17Compare Source
Added
ByteSliceandByteSliceValuefunctions for newBYTESLICEattribute type ingo.opentelemetry.io/otel/attribute. (#7948)KindBytesattribute type ingo.opentelemetry.io/otel/sdk/log. (#7990)BYTESLICEattribute type ingo.opentelemetry.io/otel/sdk/trace. (#7990)BYTESLICEattributes ingo.opentelemetry.io/otel/trace. (#8153)BYTESLICEattributes ingo.opentelemetry.io/otel/exporters/otlp/otlptrace. (#8153)BYTESLICEattributes ingo.opentelemetry.io/otel/exporters/otlp/otlplog. (#8153)BYTESLICEattributes ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric. (#8153)BYTESLICEattributes ingo.opentelemetry.io/otel/exporters/zipkin. (#8153)Stringmethod forValuetype ingo.opentelemetry.io/otel/attribute. (#8142)SliceandSliceValuefunctions for newSLICEattribute type ingo.opentelemetry.io/otel/attribute. (#8166)SLICEattributes ingo.opentelemetry.io/otel/exporters/otlp/otlptrace. (#8216)SLICEattributes ingo.opentelemetry.io/otel/exporters/otlp/otlplog. (#8216)SLICEattributes ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric. (#8216)SLICEattributes ingo.opentelemetry.io/otel/exporters/zipkin. (#8216)AttributeValueLengthLimittoattribute.SLICEtype attribute values ingo.opentelemetry.io/otel/sdk/trace, recursively truncating contained string values. (#8217)Errorfield onRecordtype ingo.opentelemetry.io/otel/log/logtest. (#8148)WithMaxRequestSizeoption ingo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc. (#8157)WithMaxRequestSizeoption ingo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp. (#8157)WithMaxRequestSizeoption ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc. (#8157)WithMaxRequestSizeoption ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp. (#8157)WithMaxRequestSizeoption ingo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc. (#8157)WithMaxRequestSizeoption ingo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp. (#8157)Settabletogo.opentelemetry.io/otel/metric/xto allow reusing attribute options. (#8178)go.opentelemetry.io/otel/sdk/metric.Set
OTEL_GO_X_METRIC_EXPORT_BATCH_SIZE=<max_size>to enable for all periodic readers.See
go.opentelemetry.io/otel/sdk/metric/internal/xfor feature documentation. (#8071)go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc.Enable with
OTEL_GO_X_SELF_OBSERVABILITY=trueenvironment variable.See
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/xfor feature documentation. (#8192)go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp.Enable with
OTEL_GO_X_SELF_OBSERVABILITY=trueenvironment variable.See
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/internal/xfor feature documentation. (#8194)go.opentelemetry.io/otel/exporters/stdout/stdoutlog.Enable with
OTEL_GO_X_SELF_OBSERVABILITY=trueenvironment variable.See
go.opentelemetry.io/otel/stdout/stdoutlog/internal/xfor feature documentation. (#8263)WithDefaultAttributestogo.opentelemetry.io/otel/metric/xto support setting default attributes on instruments. (#8135)go.opentelemetry.io/otel/semconv/v1.41.0package.The package contains semantic conventions from the
v1.41.0version of the OpenTelemetry Semantic Conventions.See the migration documentation for information on how to upgrade from
go.opentelemetry.io/otel/semconv/v1.40.0. (#8324)go.opentelemetry.io/otel/semconv/v1.41.0package. (#8350)go.opentelemetry.io/otel/semconv/v1.41.0. (#8002)Changed
go.opentelemetry.io/otel/sdk/metricnow applies a default cardinality limit of 2000 to comply with the Metrics SDK specification recommendation.New attribute sets are dropped when the cardinality limit is reached. The measurement of these sets are aggregated into a special attribute set containing
attribute.Bool("otel.metric.overflow", true).This can break users who relied on the previous unlimited default.
Set
WithCardinalityLimit(0)or the deprecatedOTEL_GO_X_CARDINALITY_LIMIT=0environment variable to preserve unlimited cardinality.Note that support for
OTEL_GO_X_CARDINALITY_LIMITmay be removed in a future release. (#8247)ErrorTypeingo.opentelemetry.io/otel/semconvnow unwraps errors created withfmt.Errorfwhen deriving theerror.typeattribute. (#8133)go.opentelemetry.io/otel/sdk/lognow unwraps error chains created withfmt.Errorfwhen deriving theerror.typeattribute from errors on log records. (#8133)Set.MarshalLogmethod ingo.opentelemetry.io/otel/attributenow usesValue.Stringformatting following the OpenTelemetry AnyValue representation for non-OTLP protocols. (#8169)go.opentelemetry.io/otel/sdk/metricto return a drop reservoir and short-circuitOffercalls to the exemplar reservoir whenexemplar.AlwaysOffFilteris configured. (#8211) (#8267)go.opentelemetry.io/otel/sdk/metricto return a drop reservoir for asynchronous instruments whenexemplar.TraceBasedFilteris configured. (#8286)Deprecated
Value.Emitmethod ingo.opentelemetry.io/otel/attribute.Use
Value.Stringinstead. (#8176)Fixed
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc.The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new
WithMaxRequestSizeoption. (#8157, #8365)go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp.The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new
WithMaxRequestSizeoption. (#8157, #8365)go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc.The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new
WithMaxRequestSizeoption. (#8157, #8365)go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp.The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new
WithMaxRequestSizeoption. (#8157, #8365)go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc.The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new
WithMaxRequestSizeoption. (#8157, #8365)go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp.The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new
WithMaxRequestSizeoption. (#8157, #8365)go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp. (#8135)go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp. (#8152)go.opentelemetry.io/otel/exporters/prometheusnow usesValue.Stringformatting for label values following the OpenTelemetry AnyValue representation for non-OTLP protocols. (#8170)ShutdownonBatchSpanProcessoringo.opentelemetry.io/otel/sdk/trace. (#8197)go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttpandgo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp. (#8226)Collectdata race and potential panic ingo.opentelemetry.io/otel/exporters/prometheuswhenWithResourceAsConstantLabelsoption is used. (#8227)FixedSizeReservoiringo.opentelemetry.io/otel/sdk/metric/exemplarby reverting #7447. (#8249)FixedSizeReservoiringo.opentelemetry.io/otel/sdk/metric/exemplarto safely handle zero size.A capacity check in the constructor initializes the reservoir safely and skips initialization for zero-cap; early returns in
Offer()andCollect()ensure no-op behavior. (#8295)go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc,go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp,go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc, andgo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp. (#8254)name,version, orschema_urlfrom metric labels ingo.opentelemetry.io/otel/exporters/prometheus, preserving the dedicatedotel_scope_name,otel_scope_version, andotel_scope_schema_urllabels. (#8264)ParseFileingo.opentelemetry.io/otel/schema/v1.0andgo.opentelemetry.io/otel/schema/v1.1. (GHSA-995v-fvrw-c78m)go.opentelemetry.io/otel/baggageandgo.opentelemetry.io/otel/propagation. (#8222)go.opentelemetry.io/otel/semconv/v1.41.0to includeAttr*helper methods for required attributes on observable instruments. (#8361)go.opentelemetry.io/otel/propagationto prevent malformed or oversized baggage headers from flooding logs. (GHSA-5wrp-cwcj-q835)What's Changed
e5db982by @renovate[bot] in #813632cd848by @renovate[bot] in #81416f92a3bby @renovate[bot] in #814093c7c8aby @renovate[bot] in #81586b4d2bcby @renovate[bot] in #8160BYTESLICEattributes across trace and exporter paths by @MrAlias in #8153746e56fby @renovate[bot] in #81753e5c5a5by @renovate[bot] in #8190afd174aby @renovate[bot] in #8195fac6e1cby @renovate[bot] in #820207c9668by @renovate[bot] in #8206e10c466by @renovate[bot] in #8241392afabby @renovate[bot] in #82482f88a58by @renovate[bot] in #8260329d219by @renovate[bot] in #82597cedc36by @renovate[bot] in #826676f71b9by @renovate[bot] in #82716603726by @renovate[bot] in #82918d53bbcby @renovate[bot] in #829260b97b3by @renovate[bot] in #8303Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, 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.