Repository navigation
deps: update dependency io.opentelemetry:opentelemetry-api to v1.67.0 [security] - #345
Open
renovate-bot wants to merge 1 commit into
Conversation
renovate-bot
force-pushed
the
renovate/maven-io.opentelemetry-opentelemetry-api-vulnerability
branch
from
July 20, 2026 19:09
5965d87 to
c97d881
Compare
renovate-bot
force-pushed
the
renovate/maven-io.opentelemetry-opentelemetry-api-vulnerability
branch
from
September 13, 2026 03:23
c97d881 to
b737d7a
Compare
renovate-bot
force-pushed
the
renovate/maven-io.opentelemetry-opentelemetry-api-vulnerability
branch
from
November 4, 2026 10:44
b737d7a to
23c6e86
Compare
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:
1.52.0→1.67.0OpenTelemetry Java SDK has Unbounded Memory Allocation in W3C Baggage Propagation
CVE-2026-45292 / GHSA-rcgg-9c38-7xpx
More information
Details
Overview
A vulnerability affects the baggage propagation implementation in
opentelemetry-apiandopentelemetry-extension-trace-propagators. Parsing oversized baggagecauses unbounded memory allocation and CPU consumption. Because baggage is automatically
re-injected into every outgoing request, the effect can fan out to downstream services that
never received the original malicious request.
Technical Details
W3CBaggagePropagatordid not enforce any limit on the total size or entry count of thebaggageheader. The parser iterated character-by-character through the entire valueregardless of length.
JaegerPropagatorandOtTracePropagatorhad the same gap in their respective baggageextraction paths.
these limits were enforced.
Impact
The practical availability impact for most deployments is limited. Every major Java HTTP server
enforces its own header size limit (Tomcat, Jetty, Netty, Vert.x, and gRPC-Java all default to
8 KiB), constraining what an external attacker can deliver before the application is reached.
The risk is higher when transport-layer limits are absent — e.g., a compromised internal service
communicating over a non-HTTP or custom transport.
Remediation
Update to version 1.62.0 or later (#8380).
The fix enforces limits consistent with the W3C Baggage specification at the propagator level:
baggageheader valuesHeaders that would exceed either limit are dropped at the point the limit is reached;
already-extracted valid entries are retained.
Workarounds
Ensure HTTP header size limits are configured at the server or gateway level. Most Java HTTP
servers enforce an 8 KiB header limit by default, which mitigates external attack vectors
independently of this fix.
References
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:LReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
opentelemetry-java: Quadratic CPU consumption in W3C tracestate parsing
CVE-2026-118259 / GHSA-ccrj-gw8r-854m
More information
Details
Summary
OpenTelemetry Java's W3C trace-context propagator permits excessive CPU consumption when extracting crafted
tracestateheaders, potentially leading to denial of service. Regex backtracking causes quadratic parsing time for headers containing long runs of spaces or tabs without a following comma.Impact
An unauthenticated attacker whose headers reach
W3CTraceContextPropagator.extract()can cause excessive CPU usage through crafted requests. Parsing blocks the calling thread, potentially affecting other connections when extraction runs on a shared event-loop thread. Actual impact depends on ingress header-size limits, proxy configuration, and threading. Header-size limits reduce the per-request cost but do not eliminate the vulnerability.Patches
Upgrade
io.opentelemetry:opentelemetry-apito version 1.67.0 or later. PR #8914 replaces regex delimiter splitting with literal comma scanning and explicit whitespace trimming.Workarounds
If upgrading is not possible, reject or remove oversized
tracestateheaders before trace-context extraction. This reduces the per-request parsing cost but does not eliminate the risk from repeated requests.Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:LReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
open-telemetry/opentelemetry-java (io.opentelemetry:opentelemetry-api)
v1.67.0API
TextMapGetter.keys()and makeTextMapGettera functional interface(#8531)
(#8803, #8863, #8864)
tracestate(#8817, #8914)
Incubating
DeclarativeConfigProperties(#8883)
Extensions
(#8817)
SDK
CompletableResultCodecompletion actions outside internal locks to avoid deadlocks(#8773)
(#8833)
(#8909)
otel.entitiesand declarative resource detectors
(#8464)
Traces
(#8815)
ThrowableinSimpleSpanProcessorandMultiSpanExporter(#8848)
{span}units for span processor self-observability metrics(#8873)
Metrics
PeriodicMetricReaderBuilder.setMaxExportBatchSize(int)(#8829)
(#8818)
(#8871)
Logs
SdkLoggerProvider.get()when no log record processors are configured(#8838)
ThrowableinSimpleLogRecordProcessorandMultiLogRecordExporter(#8848)
Profiles
KeyValueAndUnitData.create()to return the publicKeyValueAndUnitDatainterface(#8875)
Exporters
setMaxRequestBodySize(long)andsetMaxRequestMessageSize(long)and through declarative configOtlpGrpcExporter,OtlpHttpExporter(see full schema docs here)(#8446)
FINEafter shutdown(#8819)
(#8854)
(#8910)
Extensions
ServiceInstanceIdResourceProviderand generateservice.instance.idby default(#8770)
(#8893)
experimental-otlp/stdoutspan and metric exporters(#8897)
always_recordsampler(#8801)
(#8889)
rule_basedsampler(#8895)
FINEafter shutdown(#8819)
(#8888)
OnEndSpanProcessor.create()public(#8892)
ComposableProbabilitySamplerdescriptions(#8891)
Testing
(#8872)
Shims
tracestatekeys when converting spans(#8810)
SpanBuilderShim(#8812)
Project tooling
(#8804)
v1.66.0API
Baggage.fromContext()andBaggage.fromContextOrNull()to handle anullcontext(#8667)
(#8682)
ArrayIndexOutOfBoundsExceptioninOtelEncodingUtilsfor invalid hex characters(#8748)
SDK
Traces
SpanProcessorself-observability instrumentation(#8735)
Metrics
(#8717)
Logs
LogRecordProcessorself-observability instrumentation(#8698)
Exporters
Retry-Afterin OTLP HTTP senders(#8633)
setEnabledProtocolsoption to OTLP HTTP exporter builders(#8610)
keyManagerandsslContextinTlsConfigHelper(#8710)
OkHttpGrpcSendermTLS when using the platform default trust store(#8758)
JdkHttpSender(#8757)
EndpointUtil.validateEndpointfor OkHttp senders(#8746)
(#8780)
toStringtoOtlpJsonLogging{Span,Metric,LogRecord}Exporter(#8725)
LinkDatanull-element handling with thespec (#8349)
PrometheusHttpServerBuilder(#8679)
(#8752)
Extensions
with<Prop>toset<Prop>(#8742)(#8654)
scope_info_enabledandtarget_info_enabledflags in thePrometheus component provider
(#8750)
output_streaminotlp_file/development(#8676)
toStringtoComposableAnnotatingSampler(#8645)
Project tooling
zizmorfindings in GitHub Actions workflows(#8592)
v1.65.0Compare Source
NOTE: The
opentelemetry-exporter-zipkinartifact has stopped being published. It wasdeprecated in a prior release. Users should migrate to OTLP or use a Zipkin-compatible collector
exporter.
API
ImmutableBaggage.put(#8658)
NumberFormatExceptionin baggage decoder(#8593)
TraceStateBuilder.removecorrupting the builder when the same key is removed twice(#8613)
Incubating
BoundLongCounter,BoundDoubleCounter,BoundLongHistogram,BoundDoubleHistogram,BoundLongUpDownCounter,BoundDoubleUpDownCounter,BoundLongGauge,BoundDoubleGauge) to the incubator metrics API(#8527)
Extensions
JaegerPropagatorbaggage header key case sensitivity(#8496)
JaegerPropagator(#8632)
OtTracePropagatorextract(#8631)
jaeger-baggageheader after 64 tokens, including malformedtokens (#8702)
SDK
AttributesMap) to enforce last-value-win semantics basedon string value of
AttributeKey.getKey()(#8548)
Traces
Samplershutdown lifecycle:Samplernow extendsCloseableand exposes a defaultshutdown()invoked when theSdkTracerProvideris shut down;JaegerRemoteSamplerimplementsit to stop its polling executor
(#8574)
Metrics
PeriodicMetricReaderself-observability metrics by internal telemetry version(#8597)
error.typeon failed collections inPeriodicMetricReader(#8650)
LongExemplarAssert.hasFilteredAttributesSatisfyingExactlyto enforce exactattribute matching
(#8518)
Logs
ReadWriteLogRecorddefaultgetObservedTimestampEpochNanosreturning the record timestamp(#8504)
Profiles
(#8514)
Exporters
opentelemetry-exporter-zipkin; the artifact is no longer published(#8677)
HttpExporterwarning logs(#8428)
OkHttpHttpSendermTLS when using the platform default trust store(#8565)
LogRecordflags in the low-allocation log marshaler(#8493)
OkHttpHttpSender,JdkHttpSender, andUpstreamGrpcSendershutdown toawait executor/channel termination
(#8495,
#8627,
#8624)
(#8626)
(#8637)
(#8364)
PrometheusHttpServer.toBuilder()dropping the configured default handler(#8619)
SystemOutLogRecordExporter(#8609)
LoggingMetricExportertoString(#8623)
Extensions
(#8669)
(#8668)
getStringListresolver inDeclarativeConfigPropertyUtil(#8572)
jsonschema2pojowith a hand-rolled POJO generator(#8600)
(#8450)
Shims
(#8674)
(#8511)
(#8635)
nullfromTracerShimextract when the carrier has no span context(#8505)
SpanContextwhen it is sampled but invalid(#8634)
Project tooling
version.gradle.kts(#8591)
(#8655)
v1.64.0Compare Source
API
W3CBaggagePropagatorto allow empty baggage values per W3C spec(#8468)
(#8480)
Incubating
InstrumentationConfigUtil.peerServiceMapping(#8542)
EnvironmentGetter/EnvironmentSetterto not enumerate or normalize carrier entries, andnormalize empty names consistently
(#8474,
#8481)
SDK
Traces
BatchSpanProcessor.create(SpanExporter)convenience factory to mirrorSimpleSpanProcessor.create(SpanExporter)(#8564)
BatchSpanProcessorbenchmark aux counters (exportedSpans/droppedSpans) alwaysreporting zero
(#8539)
Metrics
PooledHashMapdropping live entries when an entry is removed duringforEach(#8499)
FixedSizeExemplarReservoir(#8524)
failExceptionallyinPeriodicMetricReaderwhen the exporter is busy(#8525)
valuesRecordedinAggregatorHandlewhen false(#8559)
volatileinstead of atomics inDouble/LongLastValueAggregator(#8560)
(#8550)
Logs
BatchLogRecordProcessorworker thread being killed by non-runtime exceptions(#8529)
Exporters
PrometheusMetricReaderconstructors(#8541)
EndpointUtil.validateEndpoint(#8489)
(#8545)
OtlpGrpcProfileExportertoStringclass name(#8492)
(#8346)
(#8497)
Extensions
(#8530)
(#8408)
opentelemetry-configurationv1.1.0(#8451)
toString/hashCode/equalsto match AutoValue semantics(#8526)
(#8540)
@JsonPropertyannotations on generated models(#8563)
DeclarativeConfigPropertyUtil(#8579)
Project tooling
(#8429)
(#8466)
(#8469)
(#8557)
v1.63.0Compare Source
API
setAttributeshortcuts toSpanandLogRecordBuilder(#8255)
InstrumentationUtilto public class inio.opentelemetry.api.implpackage(#8413)
StrictContextStorage(#8294)
Incubating
ExtendedAttributesand related code(#8395)
SDK
Metrics
always_on(#8363)
(#8313)
Exporters
noop()factory method toSpanExporterandLogRecordExporter(#8435)
GrpcSenderProviderandHttpSenderProviderSPIproperty names (use
io.opentelemetry.sdk.common.export.GrpcSenderProvider/io.opentelemetry.sdk.common.export.HttpSenderProviderinstead)(#8392)
(#8422)
(#8362)
LoggingSpanExporter.flush()to preserve flush failures(#8361)
(#8413)
Extensions
otel.experimental.config.fileproperty(#8393)
ViewConfig/ViewConfigCustomizerview file config mechanism(#8394)
(#8403)
io.opentelemetry.sdk.autoconfigure.declarativeconfig(#8452)
Shims
(#8373)
Project tooling
(#8401,
#8417)
io.zipkin.zipkin2:zipkin:3.6.1to avoid problematic gson version(#8430)
v1.62.0Compare Source
API
Context
W3CBaggagePropagator,OtTracePropagator,JaegerPropagator(#8378)
SDK
Traces
parentContextallocation on span start for the common case(#8332)
Metrics
setMaxExportBatchSizetoPeriodicMetricReaderBuilder(#8296)
PeriodicMetricReadershutdown race that could drop the final flush(#8299)
Exporters
0.0.0.0tolocalhost(#8298)
"1"to"ratio"(#8252)
StringEncoder(#8312)
(#8293)
MarshalerUtilsizeRepeatedStringcalculation(#8284)
JdkHttpSenderthread pool size to prevent unbounded thread creation(#8276)
sdk-profilesand JFR shim modules(#8207)
opentelemetry-sdk-profilesandopentelemetry-exporter-otlp-profiles(#8351)
Extensions
opentelemetry-sdk-extension-declarative-configartifact with new package
io.opentelemetry.sdk.autoconfigure.declarativeconfig(#8265)
OtlpConfigUtilto avoid unsafe cast toint(#8287)
(#8356)
EventToSpanEventBridgeto bridge log-based events to span events(#8372)
Testing
@NullabletoequalTovalue argument inOpenTelemetryAssertions(#8301)
hasValueSatisfyingtoLongPointAssertandDoublePointAssertfor fuzzy value matching(#8328)
containsPointsSatisfyingto metric data asserts for "each given assertion must besatisfied by at least one point, extras allowed" checks on sum, gauge, histogram, exponential
histogram, and summary data
(#8329)
Project tooling
(#7964)
ApiUsageLoggertoopentelemetry-commonpublic API(#8318)
(#8231)
*.impl.*package naming convention for internal code with japicmp compatibility(#8325)
(#8365)
v1.61.0Compare Source
API
isEnabled()onTracer,Logger, and metric instruments(#8200)
Incubating
EnvironmentGetterandEnvironmentSetterkey normalization to reflect specchanges
(#8233)
SDK
Traces
(#8263)
BatchSpanProcessordrops spans(#8167)
Metrics
SdkMeterProvidercreation time(#8180)
(#8091)
(#8185)
Logs
(#8226)
Exporters
(#8224, #8277)
(#8194)
(#8216)
(#8172)
Extensions
ComponentLoaderclass (useio.opentelemetry.common.ComponentLoaderinstead)(#8243)
DeclarativeConfigPropertiesjavadoc to not throw exceptions(#8079)
(#8177)
(#8266)
(#8242)
Project tooling
(#8254)
v1.60.1Compare Source
SDK
Extensions
(#8157)
v1.60.0Compare Source
API
(#8012)
SpanBuilder.setAttributeallows null values(#8072)
Incubating
(#8074)
ExtendedAttributes,ExtendedAttributeKey,ExtendedAttributeType,ExtendedAttributesBuilder(#8060)
peerServiceMappingaccessor fromInstrumentationConfigUtil(#8088)
SDK
Traces
TraceIdRatioBasedSampleras root sampler(#8065)
(#7993)
(#8096)
(#8145)
Metrics
(#8015)
PeriodicMetricReader(#8038)
(#8095)
otel.experimental.metrics.cardinality.limitproperty(#8124)
GlobUtilandIncludePatternMatching, used in views and declarativeconfig matching, previously were inconsistent in case sensitivity. If a glob char (* or ?) was
present, it was evaluated with case sensitivity. If no glob chars were present, it was evaluated
with case insensitivity. Now, all are consistently evaluated with case sensitivity.
(#8152)
Logs
LogRecordBuilder.setException(#8089)
setTimestampjavadoc for event timestamp behavior(#8104)
Exporters
(#8014)
(#8080)
(#8107)
KeyManagerFactory.getDefaultAlgorithm()inTlsUtil.keyManager()(#8122)
(#8147)
Extensions
(#8059)
([#8123](https://redirect.github
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.