Repository navigation
Update module go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp to v1.43.0 [SECURITY] - #90
Open
renovate[bot] wants to merge 1 commit into
Conversation
…metrichttp to v1.43.0 [SECURITY]
Contributor
Author
ℹ️ Artifact update noticeFile name: go.modIn order to perform the update(s) described in the table above, Renovate ran the
Details:
|
Not up to standards ⛔🔴 Issues
|
| Category | Results |
|---|---|
| Security | 1 minor |
🟢 Metrics 0 complexity · 0 duplication
Metric Results Complexity 0 Duplication 0
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
This branch has not been deployed
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.
Note
This PR body was truncated due to platform limits.
This PR contains the following updates:
v1.40.0→v1.43.0opentelemetry-go: OTLP HTTP exporters read unbounded HTTP response bodies
CVE-2026-39882 / GHSA-w8rr-5gcm-pp58
More information
Details
overview:
this report shows that the otlp HTTP exporters (traces/metrics/logs) read the full HTTP response body into an in-memory
bytes.Bufferwithout a size cap.this is exploitable for memory exhaustion when the configured collector endpoint is attacker-controlled (or a network attacker can mitm the exporter connection).
severity
HIGH
not claiming: this is a remote dos against every default deployment.
claiming: if the exporter sends traces to an untrusted collector endpoint (or over a network segment where mitm is realistic), that endpoint can crash the process via a large response body.
callsite (pinned):
permalinks (pinned):
root cause:
each exporter client reads
resp.Bodyusingio.Copy(&respData, resp.Body)into abytes.Bufferon both success and error paths, with no upper bound.impact:
a malicious collector can force large transient heap allocations during export (peak memory scales with attacker-chosen response size) and can potentially crash the instrumented process (oom).
affected component:
repro (local-only):
unzip poc.zip -d poc cd poc make canonical resp_bytes=33554432 chunk_delay_ms=0expected output contains:
control (same env, patched target):
unzip poc.zip -d poc cd poc make control resp_bytes=33554432 chunk_delay_ms=0expected control output contains:
attachments: poc.zip (attached)
PR_DESCRIPTION.md
attack_scenario.md
poc.zip
Fixed in: https://github.com/open-telemetry/opentelemetry-go/pull/8108
Severity
CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:HReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
open-telemetry/opentelemetry-go (go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp)
v1.43.0: /v0.65.0/v0.19.0Compare Source
Added
IsRandomandWithRandomonTraceFlags, andIsRandomonSpanContextingo.opentelemetry.io/otel/tracefor W3C Trace Context Level 2 Random Trace ID Flag support. (#8012)
WithServiceingo.opentelemetry.io/otel/sdk/resource. (#7642)DefaultWithContextandEnvironmentWithContextingo.opentelemetry.io/otel/sdk/resourceto support plumbingcontext.Contextthrough default and environment detectors. (#8051)attribute.EMPTY) ingo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc. (#8038)attribute.EMPTY) ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc. (#8038)attribute.EMPTY) ingo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc. (#8038)attribute.EMPTY) ingo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp. (#8038)attribute.EMPTY) ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp. (#8038)attribute.EMPTY) ingo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp. (#8038)attribute.EMPTY) ingo.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest. (#8038)go.opentelemetry.io/otel/sdk/metric.Set
OTEL_GO_X_PER_SERIES_START_TIMESTAMPS=trueto enable. (#8060)WithCardinalityLimitSelectorfor metric reader for configuring cardinality limits specific to the instrument kind. (#7855)Changed
EMPTYType ingo.opentelemetry.io/otel/attributeto reflect that an empty value is now a valid value, withINVALIDremaining as a deprecated alias ofEMPTY. (#8038)go.opentelemetry.io/otel/attributeto optimize short slice values with fixed-size fast paths. (#8039)go.opentelemetry.io/otel/sdk/traceby returning early if self-observability is not enabled. (#8067)go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest. (#8073)Deprecated
INVALIDingo.opentelemetry.io/otel/attribute. UseEMPTYinstead. (#8038)Fixed
TraceIdRatioBaseddescription. This is a breaking behavioral change, but it is necessary tomake the implementation spec-compliant. (#8027)
go.opentelemetry.io/otel/sdk/metricwhere the lastvalue aggregation could collect the value 0 even when no zero-value measurements were recorded. (#8056)go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttpto mitigate excessive memory usage caused by a misconfigured or malicious server.Responses exceeding the limit are treated as non-retryable errors. (#8108)
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttpto mitigate excessive memory usage caused by a misconfigured or malicious server.Responses exceeding the limit are treated as non-retryable errors. (#8108)
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttpto mitigate excessive memory usage caused by a misconfigured or malicious server.Responses exceeding the limit are treated as non-retryable errors. (#8108)
WithHostIDdetector ingo.opentelemetry.io/otel/sdk/resourceto use full path forkenvcommand on BSD. (#8113)request.GetBodyingo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttpto correctly handle HTTP2 GOAWAY frame. (#8096)What's Changed
190d7d4by @renovate[bot] in #8013a57be14by @renovate[bot] in #80318895462by @renovate[bot] in #80366e66a94by @renovate[bot] in #804384a4fc4by @renovate[bot] in #8048b7b2c7bby @renovate[bot] in #8044befce8dby @renovate[bot] in #8053c2dfcecby @renovate[bot] in #8055dec52c4by @renovate[bot] in #8063744bfb5by @renovate[bot] in #8064internal/observpackage to stdoutlog by @yumosx in #7735de6f1ccby @renovate[bot] in #8082d00831aby @renovate[bot] in #8078b6b0c46by @renovate[bot] in #8076d5a96adby @renovate[bot] in #81129d38bb4by @renovate[bot] in #8117c99c5cfby @renovate[bot] in #8122New Contributors
Full Changelog: open-telemetry/opentelemetry-go@v1.42.0...v1.43.0
v1.42.0Compare Source
Added
BatchProcessoringo.opentelemetry.io/otel/sdk/log. (#7124)WithUnsafeAttributesno-copy attribute option togo.opentelemetry.io/otel/metric/xfor future performance improvements. This API is a work in progress. (#8251)MapandMapValuefunctions for the newMAPattribute type ingo.opentelemetry.io/otel/attribute. (#8445)MAPattributes ingo.opentelemetry.io/otel/exporters/otlp/otlptrace. (#8453)MAPattributes ingo.opentelemetry.io/otel/exporters/otlp/otlplog. (#8453)MAPattributes ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric. (#8453)MAPattributes ingo.opentelemetry.io/otel/exporters/zipkin. (#8453)AttributeValueLengthLimitrecursively to values contained inattribute.MAPattributes ingo.opentelemetry.io/otel/sdk/trace. (#8454)attribute.MAPvalues ingo.opentelemetry.io/otel/sdk/resourceusing last-value-wins semantics. (#8471)attribute.MAPvalues in instrumentation scope attributes ingo.opentelemetry.io/otel/sdk/logusing last-value-wins semantics. (#8471)attribute.MAPvalues in span, event, link, and instrumentation scope attributes ingo.opentelemetry.io/otel/sdk/traceusing last-value-wins semantics. (#8471)attribute.MAPvalues in measurement and instrumentation scope attributes ingo.opentelemetry.io/otel/sdk/metricusing last-value-wins semantics. (#8471)WithAllowKeyDuplicationingo.opentelemetry.io/otel/sdk/logto disable duplicate-key removal inattribute.MAPvalues for instrumentation scope attributes. (#8471)go.opentelemetry.io/otel/semconv/v1.42.0package.The package contains semantic conventions from the
v1.42.0version of the OpenTelemetry Semantic Conventions.See the migration documentation for information on how to upgrade from
go.opentelemetry.io/otel/semconv/v1.41.0. (#8484)WithoutPanicRecordingas aTracerProviderOptioningo.opentelemetry.io/otel/sdk/traceto disable exception event recording for panics. (#8532)go.opentelemetry.io/otel/semconv/v1.43.0package.The package contains semantic conventions from the
v1.43.0version of the OpenTelemetry Semantic Conventions.See the migration documentation for information on how to upgrade from
go.opentelemetry.io/otel/semconv/v1.42.0. (#8628)Changed
HistogramReservoiringo.opentelemetry.io/otel/sdk/metric/exemplarnow uses a time-unbiased sampling algorithm for exemplars. (#8306)go.opentelemetry.io/otel/attribute.Valueandgo.opentelemetry.io/otel/attribute.KeyValuefor log bodies and attributes ingo.opentelemetry.io/otel/log,go.opentelemetry.io/otel/log/logtest,go.opentelemetry.io/otel/sdk/log, andgo.opentelemetry.io/otel/sdk/log/logtest. (#8490)go.opentelemetry.io/otel/attribute.ValueJSON ingo.opentelemetry.io/otel/exporters/stdout/stdoutlog. (#8490)BOOLSLICE,INT64SLICE,FLOAT64SLICE, andSTRINGSLICEattribute values by avoiding reflection for short slices ingo.opentelemetry.io/otel/attribute. (#8511)WithEndpointURLingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttpno longer appends the default signal path when an endpoint URL has no path, making the behavior consistent withgo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttpand with setting the endpoint throughOTEL_EXPORTER_OTLP_METRICS_ENDPOINT. If the URL has no path component, the root path (/) is used. UseWithEndpointURL(url.JoinPath(endpoint, "/v1/metrics"))to preserve the previous behavior. (#8538)WithEndpointURLingo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttpno longer appends the default signal path when an endpoint URL has no path, making the behavior consistent withgo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttpand with setting the endpoint throughOTEL_EXPORTER_OTLP_TRACES_ENDPOINT. If the URL has no path component, the root path (/) is used. UseWithEndpointURL(url.JoinPath(endpoint, "/v1/traces"))to preserve the previous behavior. (#8538)Deprecated
WithExportBufferSizeingo.opentelemetry.io/otel/sdk/log. The option remains available for source compatibility but no longer affects behavior;BatchProcessorno longer maintains a separate export-request buffer. (#8620)Removed
Kind,Value,KeyValue, their constructors, and attribute conversion helpers fromgo.opentelemetry.io/otel/log. (#8490)AttributeValueLengthLimitandAttributeCountLimitfields fromRecordFactoryingo.opentelemetry.io/otel/sdk/log/logtest; records produced by the factory now keep attribute limits disabled so test code can append exact attributes. (#8556)Fixed
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc.go.opentelemetry.io/otel/bridge/opentracingwhen OpenTracing baggage is propagated concurrently withSpan.SetBaggageItem.FixedSizeReservoiringo.opentelemetry.io/otel/sdk/metric/exemplarthat prevented the first exemplar from being sampled after the reservoir was filled. (#8309)Retry-Afterheader values as seconds instead of nanoseconds when retrying OTLP HTTP exports ingo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp,go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp, andgo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp. (#8383)Reservoirimplementation ingo.opentelemetry.io/otel/sdk/metric/exemplar, where storing the fullcontext.Contextpinned large objects such as gRPC transport buffers. (#8389)go.opentelemetry.io/otel/attribute. (#8402)go.opentelemetry.io/otel/sdk/metricaggregation to avoid leaking stale sum, minimum, and maximum values when they are disabled in subsequent collections. (#8403)go.opentelemetry.io/otel/exporters/prometheus. (#8404)Retry-Afterheader when retrying OTLP HTTP exports ingo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp,go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp, andgo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp. (#8417)BucketCountsandExemplarsslices acrossCollectcycles in the cumulative histogram aggregation ingo.opentelemetry.io/otel/sdk/metric. (#8428)go.opentelemetry.io/otel/exporters/stdout/stdouttraceself-observability to recorderror.typeon the operation-duration histogram when theexportedSpansmetric is disabled. (#8432)go.opentelemetry.io/otel/sdk/trace,go.opentelemetry.io/otel/exporters/otlp/otlptrace,go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc,go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp, andgo.opentelemetry.io/otel/exporters/zipkin. (#8438)go.opentelemetry.io/otel/codes. (#8497)go.opentelemetry.io/otel/logthatLogger.Enabledshould be checked for every log emission because its result may change over time. (#8565)go.opentelemetry.io/otel/sdk/log. (#8566)WithAttributeCountLimit(0)andOTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT=0discard all log record attributes ingo.opentelemetry.io/otel/sdk/log. (#8570)Recordmethods ofFloat64HistogramandInt64Histogramingo.opentelemetry.io/otel/metricexpect non-negative values. (#8574)go.opentelemetry.io/otel/logthatLoggerProviderimplementations should retain an emptyLoggername instead of replacing it with a default. (#8587)go.opentelemetry.io/otel/sdk/logcall exporterForceFlushduringShutdown. (#8599)go.opentelemetry.io/otel/sdk/logfrom overlapping with processor shutdown or running afterLoggerProvidershutdown. (#8608)BatchProcessoringo.opentelemetry.io/otel/sdk/logfrom busy-spinning under exporter backpressure and serialize dequeue, export, force-flush, and shutdown work in one worker. (#8620)BatchProcessoringo.opentelemetry.io/otel/sdk/logreturn errors encountered while draining records duringForceFlushandShutdown, while continuing to attempt later batches as long as the request context remains valid. (#8620)BatchProcessormaximum export batch size ingo.opentelemetry.io/otel/sdk/logat or below the configured maximum queue size. (#8620)v1.41.0Compare Source
Added
BatchProcessoringo.opentelemetry.io/otel/sdk/log. (#7124)WithUnsafeAttributesno-copy attribute option togo.opentelemetry.io/otel/metric/xfor future performance improvements. This API is a work in progress. (#8251)MapandMapValuefunctions for the newMAPattribute type ingo.opentelemetry.io/otel/attribute. (#8445)MAPattributes ingo.opentelemetry.io/otel/exporters/otlp/otlptrace. (#8453)MAPattributes ingo.opentelemetry.io/otel/exporters/otlp/otlplog. (#8453)MAPattributes ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric. (#8453)MAPattributes ingo.opentelemetry.io/otel/exporters/zipkin. (#8453)AttributeValueLengthLimitrecursively to values contained inattribute.MAPattributes ingo.opentelemetry.io/otel/sdk/trace. (#8454)attribute.MAPvalues ingo.opentelemetry.io/otel/sdk/resourceusing last-value-wins semantics. (#8471)attribute.MAPvalues in instrumentation scope attributes ingo.opentelemetry.io/otel/sdk/logusing last-value-wins semantics. (#8471)attribute.MAPvalues in span, event, link, and instrumentation scope attributes ingo.opentelemetry.io/otel/sdk/traceusing last-value-wins semantics. (#8471)attribute.MAPvalues in measurement and instrumentation scope attributes ingo.opentelemetry.io/otel/sdk/metricusing last-value-wins semantics. (#8471)WithAllowKeyDuplicationingo.opentelemetry.io/otel/sdk/logto disable duplicate-key removal inattribute.MAPvalues for instrumentation scope attributes. (#8471)go.opentelemetry.io/otel/semconv/v1.42.0package.The package contains semantic conventions from the
v1.42.0version of the OpenTelemetry Semantic Conventions.See the migration documentation for information on how to upgrade from
go.opentelemetry.io/otel/semconv/v1.41.0. (#8484)WithoutPanicRecordingas aTracerProviderOptioningo.opentelemetry.io/otel/sdk/traceto disable exception event recording for panics. (#8532)go.opentelemetry.io/otel/semconv/v1.43.0package.The package contains semantic conventions from the
v1.43.0version of the OpenTelemetry Semantic Conventions.See the migration documentation for information on how to upgrade from
go.opentelemetry.io/otel/semconv/v1.42.0. (#8628)Changed
HistogramReservoiringo.opentelemetry.io/otel/sdk/metric/exemplarnow uses a time-unbiased sampling algorithm for exemplars. (#8306)go.opentelemetry.io/otel/attribute.Valueandgo.opentelemetry.io/otel/attribute.KeyValuefor log bodies and attributes ingo.opentelemetry.io/otel/log,go.opentelemetry.io/otel/log/logtest,go.opentelemetry.io/otel/sdk/log, andgo.opentelemetry.io/otel/sdk/log/logtest. (#8490)go.opentelemetry.io/otel/attribute.ValueJSON ingo.opentelemetry.io/otel/exporters/stdout/stdoutlog. (#8490)BOOLSLICE,INT64SLICE,FLOAT64SLICE, andSTRINGSLICEattribute values by avoiding reflection for short slices ingo.opentelemetry.io/otel/attribute. (#8511)WithEndpointURLingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttpno longer appends the default signal path when an endpoint URL has no path, making the behavior consistent withgo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttpand with setting the endpoint throughOTEL_EXPORTER_OTLP_METRICS_ENDPOINT. If the URL has no path component, the root path (/) is used. UseWithEndpointURL(url.JoinPath(endpoint, "/v1/metrics"))to preserve the previous behavior. (#8538)WithEndpointURLingo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttpno longer appends the default signal path when an endpoint URL has no path, making the behavior consistent withgo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttpand with setting the endpoint throughOTEL_EXPORTER_OTLP_TRACES_ENDPOINT. If the URL has no path component, the root path (/) is used. UseWithEndpointURL(url.JoinPath(endpoint, "/v1/traces"))to preserve the previous behavior. (#8538)Deprecated
WithExportBufferSizeingo.opentelemetry.io/otel/sdk/log. The option remains available for source compatibility but no longer affects behavior;BatchProcessorno longer maintains a separate export-request buffer. (#8620)Removed
Kind,Value,KeyValue, their constructors, and attribute conversion helpers fromgo.opentelemetry.io/otel/log. (#8490)AttributeValueLengthLimitandAttributeCountLimitfields fromRecordFactoryingo.opentelemetry.io/otel/sdk/log/logtest; records produced by the factory now keep attribute limits disabled so test code can append exact attributes. (#8556)Fixed
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc.go.opentelemetry.io/otel/bridge/opentracingwhen OpenTracing baggage is propagated concurrently withSpan.SetBaggageItem.FixedSizeReservoiringo.opentelemetry.io/otel/sdk/metric/exemplarthat prevented the first exemplar from being sampled after the reservoir was filled. (#8309)Retry-Afterheader values as seconds instead of nanoseconds when retrying OTLP HTTP exports ingo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp,go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp, andgo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp. (#8383)Reservoirimplementation ingo.opentelemetry.io/otel/sdk/metric/exemplar, where storing the fullcontext.Contextpinned large objects such as gRPC transport buffers. (#8389)go.opentelemetry.io/otel/attribute. (#8402)go.opentelemetry.io/otel/sdk/metricaggregation to avoid leaking stale sum, minimum, and maximum values when they are disabled in subsequent collections. ([#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.