Skip to content

Commit df877a8

Browse files
authored
Bump dependencies to address security CVEs for v1.30.2 (#9610)
## Summary Bumps dependencies flagged by Trivy scan to address CVEs in the v1.30.2 release image: - **CVE-2026-33186 (CRITICAL)**: `google.golang.org/grpc` v1.72.2 → v1.79.3 — authorization bypass via missing leading `/` in `:path` header - **CVE-2026-24051 (HIGH)**: `go.opentelemetry.io/otel/sdk` v1.34.0 → v1.40.0 — PATH hijacking (cherry-picked from main, PR #9442) - **CVE-2026-25679 (HIGH)**: Go stdlib `net/url` — bumped Go from 1.25.7 → 1.25.8 - **CVE-2026-22184 (HIGH)**: Alpine `zlib` 1.3.1-r2 → 1.3.2-r0 — global buffer overflow in `untgz` utility ## Risk assessment - **grpc v1.72.2 → v1.79.3**: Largest change. 7 minor version jump with ~30 transitive dependency upgrades (protobuf, x/net, x/crypto, envoy control plane, genproto, etc.). Builds cleanly. Note: this bump has not been done on `main` yet. - **otel/sdk v1.34.0 → v1.40.0**: Already landed on `main` via #9442. Includes test fixes for testify v1.11.0 `EventuallyWithT` behavior change. - **Go 1.25.7 → 1.25.8**: Patch version, minimal risk. - **zlib**: Alpine package upgrade via `apk upgrade --no-cache zlib` in both server and admin-tools Dockerfiles. ## Test plan - [ ] CI passes on this PR - [ ] After merge, wait for Build & Publish to produce new image - [ ] Re-run nightly validation with new image SHA - [ ] Re-run long-haul test - [ ] Re-run Trivy scan to confirm CVEs are resolved - [ ] Get security clearance from #team-eng-security-it Made with [Cursor](https://cursor.com)
1 parent 8086c0a commit df877a8

11 files changed

Lines changed: 207 additions & 165 deletions

File tree

client/history/caching_redirector_test.go

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"testing"
77
"time"
88

9+
"github.com/stretchr/testify/assert"
910
"github.com/stretchr/testify/require"
1011
"github.com/stretchr/testify/suite"
1112
"go.temporal.io/api/serviceerror"
@@ -315,15 +316,18 @@ func (s *cachingRedirectorSuite) TestStaleTTL() {
315316
defer r.mu.RUnlock()
316317
entry := r.mu.cache[shardID]
317318
return !entry.staleAt.IsZero()
318-
}, 4*staleTTL, staleTTL)
319+
}, 4*staleTTL, 10*time.Millisecond)
319320

321+
// Wait for the stale TTL to expire so clientForShardID re-resolves the shard owner.
320322
s.resolver.EXPECT().
321323
Lookup(convert.Int32ToString(shardID)).
322324
Return(membership.NewHostInfoFromAddress(string(testAddr2)), nil).
323325
Times(1)
324326

325-
cli, err = r.clientForShardID(shardID)
326-
s.NoError(err)
327-
s.Equal(mockClient, cli)
328-
s.Equal(2, s.connections.resetCalls)
327+
s.EventuallyWithT(func(t *assert.CollectT) {
328+
cli, err = r.clientForShardID(shardID)
329+
assert.NoError(t, err)
330+
assert.Equal(t, mockClient, cli)
331+
assert.Equal(t, 2, s.connections.resetCalls)
332+
}, 4*staleTTL, 10*time.Millisecond)
329333
}

common/dynamicconfig/gradual_change_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -306,12 +306,12 @@ func TestSubscribeGradualChange_TimerFiresAtTransitionTime(t *testing.T) {
306306

307307
ts.Update(gc.When(key).Add(time.Second))
308308
assert.EventuallyWithT(t, func(c *assert.CollectT) {
309-
assert.Equal(t, []bool{true}, callbackVals.get())
309+
assert.Equal(c, []bool{true}, callbackVals.get())
310310
}, time.Second, time.Millisecond)
311311

312312
ts.Update(end.Add(time.Second))
313313
assert.EventuallyWithT(t, func(c *assert.CollectT) {
314-
assert.Equal(t, []bool{true}, callbackVals.get())
314+
assert.Equal(c, []bool{true}, callbackVals.get())
315315
}, time.Second, time.Millisecond)
316316
}
317317

docker/targets/admin-tools.Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ ARG TARGETARCH
1111

1212
RUN apk add --no-cache \
1313
ca-certificates \
14-
tzdata && addgroup -g 1000 temporal && \
14+
tzdata && \
15+
apk upgrade --no-cache zlib && \
16+
addgroup -g 1000 temporal && \
1517
adduser -u 1000 -G temporal -D temporal
1618

1719
# Copy all admin tool binaries:

docker/targets/server.Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ ARG TARGETARCH
1111

1212
RUN apk add --no-cache \
1313
ca-certificates \
14-
tzdata && addgroup -g 1000 temporal && \
14+
tzdata && \
15+
apk upgrade --no-cache zlib && \
16+
addgroup -g 1000 temporal && \
1517
adduser -u 1000 -G temporal -D temporal
1618

1719
COPY --chmod=755 ./build/${TARGETARCH}/temporal-server /usr/local/bin/

go.mod

Lines changed: 33 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module go.temporal.io/server
22

3-
go 1.25.7
3+
go 1.25.8
44

55
retract (
66
v1.30.0
@@ -18,14 +18,14 @@ require (
1818
github.com/emirpasic/gods v1.18.1
1919
github.com/fatih/color v1.18.0
2020
github.com/go-faker/faker/v4 v4.6.0
21-
github.com/go-jose/go-jose/v4 v4.0.5
21+
github.com/go-jose/go-jose/v4 v4.1.3
2222
github.com/go-sql-driver/mysql v1.9.0
2323
github.com/gocql/gocql v1.7.0
2424
github.com/golang-jwt/jwt/v4 v4.5.2
2525
github.com/google/go-cmp v0.7.0
2626
github.com/google/uuid v1.6.0
2727
github.com/gorilla/mux v1.8.1
28-
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.1
28+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1
2929
github.com/iancoleman/strcase v0.3.0
3030
github.com/jackc/pgx/v5 v5.7.2
3131
github.com/jmoiron/sqlx v1.4.0
@@ -38,11 +38,11 @@ require (
3838
github.com/olivere/elastic/v7 v7.0.32
3939
github.com/pkg/errors v0.9.1
4040
github.com/prometheus/client_golang v1.21.0
41-
github.com/prometheus/client_model v0.6.1
41+
github.com/prometheus/client_model v0.6.2
4242
github.com/prometheus/common v0.62.0
4343
github.com/robfig/cron/v3 v3.0.1
4444
github.com/sony/gobreaker v1.0.0
45-
github.com/stretchr/testify v1.10.0
45+
github.com/stretchr/testify v1.11.1
4646
github.com/temporalio/ringpop-go v0.0.0-20250130211428-b97329e994f7
4747
github.com/temporalio/sqlparser v0.0.0-20231115171017-f4060bcfa6cb
4848
github.com/temporalio/tchannel-go v1.22.1-0.20240528171429-1db37fdea938
@@ -51,28 +51,28 @@ require (
5151
github.com/urfave/cli/v2 v2.27.5
5252
go.opentelemetry.io/collector/pdata v1.34.0
5353
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.59.0
54-
go.opentelemetry.io/otel v1.34.0
54+
go.opentelemetry.io/otel v1.40.0
5555
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.34.0
5656
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0
5757
go.opentelemetry.io/otel/exporters/prometheus v0.56.0
58-
go.opentelemetry.io/otel/metric v1.34.0
59-
go.opentelemetry.io/otel/sdk v1.34.0
60-
go.opentelemetry.io/otel/sdk/metric v1.34.0
61-
go.opentelemetry.io/otel/trace v1.34.0
58+
go.opentelemetry.io/otel/metric v1.40.0
59+
go.opentelemetry.io/otel/sdk v1.40.0
60+
go.opentelemetry.io/otel/sdk/metric v1.40.0
61+
go.opentelemetry.io/otel/trace v1.40.0
6262
go.temporal.io/api v1.62.2
6363
go.temporal.io/sdk v1.38.0
6464
go.uber.org/fx v1.24.0
6565
go.uber.org/mock v0.6.0
6666
go.uber.org/multierr v1.11.0
6767
go.uber.org/zap v1.27.0
6868
golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b
69-
golang.org/x/oauth2 v0.28.0
70-
golang.org/x/sync v0.18.0
71-
golang.org/x/text v0.31.0
69+
golang.org/x/oauth2 v0.34.0
70+
golang.org/x/sync v0.19.0
71+
golang.org/x/text v0.32.0
7272
golang.org/x/time v0.10.0
7373
google.golang.org/api v0.224.0
74-
google.golang.org/grpc v1.72.2
75-
google.golang.org/protobuf v1.36.6
74+
google.golang.org/grpc v1.79.3
75+
google.golang.org/protobuf v1.36.10
7676
gopkg.in/validator.v2 v2.0.1
7777
gopkg.in/yaml.v3 v3.0.1
7878
modernc.org/sqlite v1.39.1
@@ -81,16 +81,16 @@ require (
8181
require github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.2 // indirect
8282

8383
require (
84-
cel.dev/expr v0.23.1 // indirect
84+
cel.dev/expr v0.25.1 // indirect
8585
cloud.google.com/go v0.118.3 // indirect; indirect e
8686
cloud.google.com/go/auth v0.15.0 // indirect
8787
cloud.google.com/go/auth/oauth2adapt v0.2.7 // indirect
88-
cloud.google.com/go/compute/metadata v0.6.0 // indirect
88+
cloud.google.com/go/compute/metadata v0.9.0 // indirect
8989
cloud.google.com/go/iam v1.4.2 // indirect
9090
cloud.google.com/go/monitoring v1.24.1 // indirect
9191
dario.cat/mergo v1.0.1 // indirect
9292
filippo.io/edwards25519 v1.1.0 // indirect
93-
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.27.0 // indirect
93+
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.30.0 // indirect
9494
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.51.0 // indirect
9595
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.51.0 // indirect
9696
github.com/Masterminds/goutils v1.1.1 // indirect
@@ -101,15 +101,15 @@ require (
101101
github.com/cactus/go-statsd-client/statsd v0.0.0-20200423205355-cb0885a1018c // indirect
102102
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
103103
github.com/cespare/xxhash/v2 v2.3.0 // indirect
104-
github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42 // indirect
104+
github.com/cncf/xds/go v0.0.0-20251210132809-ee656c7534f5 // indirect
105105
github.com/cpuguy83/go-md2man/v2 v2.0.6 // indirect
106-
github.com/davecgh/go-spew v1.1.1 // indirect
106+
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
107107
github.com/dustin/go-humanize v1.0.1 // indirect
108-
github.com/envoyproxy/go-control-plane/envoy v1.32.4 // indirect
109-
github.com/envoyproxy/protoc-gen-validate v1.2.1 // indirect
108+
github.com/envoyproxy/go-control-plane/envoy v1.36.0 // indirect
109+
github.com/envoyproxy/protoc-gen-validate v1.3.0 // indirect
110110
github.com/facebookgo/clock v0.0.0-20150410010913-600d898af40a // indirect
111111
github.com/felixge/httpsnoop v1.0.4 // indirect
112-
github.com/go-logr/logr v1.4.2 // indirect
112+
github.com/go-logr/logr v1.4.3 // indirect
113113
github.com/go-logr/stdr v1.2.2 // indirect
114114
github.com/gogo/protobuf v1.3.2 // indirect
115115
github.com/golang/mock v1.6.0 // indirect
@@ -138,7 +138,7 @@ require (
138138
github.com/ncruces/go-strftime v0.1.9 // indirect
139139
github.com/opentracing/opentracing-go v1.2.0 // indirect
140140
github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect
141-
github.com/pmezard/go-difflib v1.0.0 // indirect
141+
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
142142
github.com/prometheus/procfs v0.15.1 // indirect
143143
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect
144144
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
@@ -148,25 +148,24 @@ require (
148148
github.com/shopspring/decimal v1.4.0 // indirect
149149
github.com/sirupsen/logrus v1.9.3 // indirect
150150
github.com/spf13/cast v1.7.0 // indirect
151-
github.com/spiffe/go-spiffe/v2 v2.5.0 // indirect
151+
github.com/spiffe/go-spiffe/v2 v2.6.0 // indirect
152152
github.com/stretchr/objx v0.5.2 // indirect
153153
github.com/twmb/murmur3 v1.1.8 // indirect
154154
github.com/uber-common/bark v1.3.0 // indirect
155155
github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect
156-
github.com/zeebo/errs v1.4.0 // indirect
157-
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
158-
go.opentelemetry.io/contrib/detectors/gcp v1.34.0 // indirect
156+
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
157+
go.opentelemetry.io/contrib/detectors/gcp v1.39.0 // indirect
159158
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0 // indirect
160159
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0
161-
go.opentelemetry.io/proto/otlp v1.5.0
160+
go.opentelemetry.io/proto/otlp v1.7.1
162161
go.uber.org/atomic v1.11.0 // indirect
163162
go.uber.org/dig v1.19.0 // indirect
164-
golang.org/x/crypto v0.45.0 // indirect
165-
golang.org/x/net v0.47.0 // indirect
166-
golang.org/x/sys v0.38.0 // indirect
163+
golang.org/x/crypto v0.46.0 // indirect
164+
golang.org/x/net v0.48.0 // indirect
165+
golang.org/x/sys v0.40.0 // indirect
167166
google.golang.org/genproto v0.0.0-20250303144028-a0af3efb3deb // indirect
168-
google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb // indirect
169-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb // indirect
167+
google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217 // indirect
168+
google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 // indirect
170169
gopkg.in/inf.v0 v0.9.1 // indirect
171170
modernc.org/libc v1.66.10 // indirect
172171
modernc.org/mathutil v1.7.1 // indirect

0 commit comments

Comments
 (0)