chore(deps): update module go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp to v1.43.0 [security]#3003
Conversation
ℹ️ Artifact update noticeFile name: go.modIn order to perform the update(s) described in the table above, Renovate ran the
Details:
|
|
/gcbrun |
There was a problem hiding this comment.
Code Review
This pull request updates several OpenTelemetry and Google Cloud dependencies in go.mod to newer versions. A review comment correctly identified that the otlptracehttp exporter should also be updated to v1.43.0 to mitigate CVE-2026-39882 and maintain version consistency across all OpenTelemetry components.
| go.opentelemetry.io/otel v1.42.0 | ||
| go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.42.0 | ||
| go.opentelemetry.io/otel v1.43.0 | ||
| go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.43.0 |
There was a problem hiding this comment.
The security vulnerability CVE-2026-39882 (GHSA-w8rr-5gcm-pp58) described in the PR body also affects go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp. Since this package is used in internal/telemetry/telemetry.go (lines 27 and 117), it should also be updated to v1.43.0 to ensure the vulnerability is fully mitigated across all OTLP HTTP exporters. Additionally, keeping all OpenTelemetry components at the same version (v1.43.0) is recommended to avoid potential compatibility issues.
…lpmetric/otlpmetrichttp to v1.43.0 [security]
8704b4a to
66240d1
Compare
|
/gcbrun |
This PR contains the following updates:
v1.42.0→v1.43.0GitHub Vulnerability Alerts
CVE-2026-39882
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
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
Configuration
📅 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.