Skip to content

Commit d5ab92a

Browse files
committed
fix(deps): upgrade vulnerable dependencies and add govulncheck CI
Upgrade go-ethereum v1.16.7→v1.16.8, otel/sdk v1.37.0→v1.40.0, libp2p v0.42.0→v0.47.0, gnark-crypto v0.18.0→v0.18.1 to resolve 12 of 13 known vulnerabilities. Bump Go 1.25.1→1.25.7 to fix 5 stdlib CVEs. Add govulncheck workflow as a blocking PR check, allowing only GO-2026-4479 (pion/dtls/v2, no fix available).
1 parent e9a1e46 commit d5ab92a

6 files changed

Lines changed: 90 additions & 201 deletions

File tree

.github/workflows/golangci-lint.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
steps:
1616
- uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
1717
with:
18-
go-version: '1.25.1'
18+
go-version: '1.25.x'
1919
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
2020
with:
2121
# Full history so golangci-lint can compute merge-base when diffs exceed GitHub API limits.

.github/workflows/goreleaser.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
- name: Set up Go
3939
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
4040
with:
41-
go-version: '1.25.1'
41+
go-version: '1.25.x'
4242
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
4343
name: Set up Node
4444
with:
@@ -86,4 +86,4 @@ jobs:
8686
-e DOCKER_PASSWORD=${{ secrets.DOCKERHUB_TOKEN }} \
8787
-v /var/run/docker.sock:/var/run/docker.sock \
8888
-e RELEASE_SUFFIX=${{ env.RELEASE_SUFFIX }} \
89-
goreleaser/goreleaser-cross:v1.25.1 release --clean --config .goreleaser.yaml.new
89+
goreleaser/goreleaser-cross:v1.25.7 release --clean --config .goreleaser.yaml.new

.github/workflows/govulncheck.yaml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: govulncheck
2+
3+
on:
4+
pull_request:
5+
6+
permissions:
7+
contents: read
8+
9+
jobs:
10+
govulncheck:
11+
name: govulncheck
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
15+
with:
16+
go-version: '1.25.x'
17+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
18+
- name: Install govulncheck
19+
run: go install golang.org/x/vuln/cmd/govulncheck@latest
20+
- name: Run govulncheck
21+
run: |
22+
set +e
23+
OUTPUT=$(govulncheck ./... 2>&1)
24+
EXIT_CODE=$?
25+
set -e
26+
27+
echo "$OUTPUT"
28+
29+
if [ $EXIT_CODE -eq 0 ]; then
30+
echo ""
31+
echo "No vulnerabilities found"
32+
exit 0
33+
fi
34+
35+
# Only GO-2026-4479 (pion/dtls/v2) is expected — it has no fix available.
36+
# Check that this is the ONLY vulnerability reported.
37+
if echo "$OUTPUT" | grep -q "Your code is affected by 1 vulnerability" && \
38+
echo "$OUTPUT" | grep -q "GO-2026-4479"; then
39+
echo ""
40+
echo "Only known unfixable vulnerability GO-2026-4479 (pion/dtls/v2) found — no fix available"
41+
exit 0
42+
fi
43+
44+
echo ""
45+
echo "New vulnerabilities found! Please fix them before merging."
46+
exit 1

.github/workflows/test-build.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
- name: Set up Go
2121
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
2222
with:
23-
go-version: '1.25.1'
23+
go-version: '1.25.x'
2424
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
2525
name: Set up Node
2626
with:
@@ -52,4 +52,4 @@ jobs:
5252
-e GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} \
5353
-v /var/run/docker.sock:/var/run/docker.sock \
5454
-e RELEASE_SUFFIX="test" \
55-
goreleaser/goreleaser-cross:v1.25.1 release --clean --config .goreleaser.yaml --skip=publish --skip=validate
55+
goreleaser/goreleaser-cross:v1.25.7 release --clean --config .goreleaser.yaml --skip=publish --skip=validate

go.mod

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module github.com/ethpandaops/xatu
22

3-
go 1.25.6
3+
go 1.25.7
44

55
// release-xatu branch.
66

@@ -17,7 +17,7 @@ require (
1717
github.com/cenkalti/backoff/v5 v5.0.3
1818
github.com/chuckpreslar/emission v0.0.0-20170206194824-a7ddd980baf9
1919
github.com/creasty/defaults v1.8.0
20-
github.com/ethereum/go-ethereum v1.16.7
20+
github.com/ethereum/go-ethereum v1.16.8
2121
github.com/ethpandaops/beacon v0.65.0
2222
github.com/ethpandaops/ethcore v0.0.0-20260112064422-e7fe02956738
2323
github.com/ethpandaops/ethwallclock v0.4.0
@@ -33,7 +33,7 @@ require (
3333
github.com/jellydator/ttlcache/v3 v3.4.0
3434
github.com/klauspost/compress v1.18.3
3535
github.com/lib/pq v1.10.9
36-
github.com/libp2p/go-libp2p v0.42.0
36+
github.com/libp2p/go-libp2p v0.47.0
3737
github.com/libp2p/go-libp2p-pubsub v0.14.2
3838
github.com/mitchellh/hashstructure/v2 v2.0.2
3939
github.com/multiformats/go-multiaddr v0.16.1
@@ -52,8 +52,8 @@ require (
5252
github.com/testcontainers/testcontainers-go/modules/postgres v0.38.0
5353
github.com/twmb/franz-go v1.20.6
5454
go.opentelemetry.io/otel v1.40.0
55-
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.39.0
56-
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.39.0
55+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.40.0
56+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.40.0
5757
go.opentelemetry.io/otel/sdk v1.40.0
5858
go.opentelemetry.io/otel/trace v1.40.0
5959
go.uber.org/mock v0.5.2
@@ -88,7 +88,7 @@ require (
8888
github.com/clipperhouse/stringish v0.1.1 // indirect
8989
github.com/clipperhouse/uax29/v2 v2.3.0 // indirect
9090
github.com/cockroachdb/apd/v3 v3.2.1 // indirect
91-
github.com/consensys/gnark-crypto v0.18.0 // indirect
91+
github.com/consensys/gnark-crypto v0.18.1 // indirect
9292
github.com/containerd/errdefs v1.0.0 // indirect
9393
github.com/containerd/errdefs/pkg v0.3.0 // indirect
9494
github.com/containerd/log v0.1.0 // indirect
@@ -107,6 +107,7 @@ require (
107107
github.com/docker/docker v28.5.2+incompatible // indirect
108108
github.com/docker/go-connections v0.6.0 // indirect
109109
github.com/docker/go-units v0.5.0 // indirect
110+
github.com/dunglas/httpsfv v1.1.0 // indirect
110111
github.com/dustin/go-humanize v1.0.1 // indirect
111112
github.com/eapache/go-resiliency v1.7.0 // indirect
112113
github.com/eapache/go-xerial-snappy v0.0.0-20230731223053-c322873962e3 // indirect
@@ -120,7 +121,6 @@ require (
120121
github.com/felixge/httpsnoop v1.0.4 // indirect
121122
github.com/filecoin-project/go-clock v0.1.0 // indirect
122123
github.com/flynn/noise v1.1.0 // indirect
123-
github.com/francoispqt/gojay v1.2.13 // indirect
124124
github.com/fsnotify/fsnotify v1.9.0 // indirect
125125
github.com/go-co-op/gocron v1.37.0 // indirect
126126
github.com/go-faster/city v1.0.1 // indirect
@@ -129,20 +129,17 @@ require (
129129
github.com/go-logr/stdr v1.2.2 // indirect
130130
github.com/go-ole/go-ole v1.3.0 // indirect
131131
github.com/go-redsync/redsync/v4 v4.13.0 // indirect
132-
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
133132
github.com/goccy/go-yaml v1.17.1 // indirect
134133
github.com/gofrs/flock v0.12.1 // indirect
135134
github.com/gofrs/uuid/v5 v5.4.0 // indirect
136135
github.com/gogo/protobuf v1.3.2 // indirect
137136
github.com/golang-jwt/jwt/v5 v5.3.0 // indirect
138137
github.com/google/go-cmp v0.7.0 // indirect
139-
github.com/google/gopacket v1.1.19 // indirect
140-
github.com/google/pprof v0.0.0-20251002213607-436353cc1ee6 // indirect
141138
github.com/gorilla/handlers v1.5.2 // indirect
142139
github.com/gorilla/mux v1.8.1 // indirect
143140
github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 // indirect
144141
github.com/govalues/decimal v0.1.36 // indirect
145-
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3 // indirect
142+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.7 // indirect
146143
github.com/hashicorp/errwrap v1.1.0 // indirect
147144
github.com/hashicorp/go-multierror v1.1.1 // indirect
148145
github.com/hashicorp/go-uuid v1.0.3 // indirect
@@ -218,7 +215,6 @@ require (
218215
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
219216
github.com/nsf/jsondiff v0.0.0-20230430225905-43f6cf3098c1 // indirect
220217
github.com/olekukonko/tablewriter v1.0.9 // indirect
221-
github.com/onsi/ginkgo/v2 v2.23.4 // indirect
222218
github.com/opencontainers/go-digest v1.0.0 // indirect
223219
github.com/opencontainers/image-spec v1.1.1 // indirect
224220
github.com/pascaldekloe/name v1.0.1 // indirect
@@ -255,9 +251,9 @@ require (
255251
github.com/prysmaticlabs/fastssz v0.0.0-20251103153600-259302269bfc // indirect
256252
github.com/prysmaticlabs/go-bitfield v0.0.0-20240618144021-706c95b2dd15 // indirect
257253
github.com/prysmaticlabs/gohashtree v0.0.5-beta // indirect
258-
github.com/quic-go/qpack v0.5.1 // indirect
259-
github.com/quic-go/quic-go v0.52.0 // indirect
260-
github.com/quic-go/webtransport-go v0.8.1-0.20241018022711-4ac2c9250e66 // indirect
254+
github.com/quic-go/qpack v0.6.0 // indirect
255+
github.com/quic-go/quic-go v0.59.0 // indirect
256+
github.com/quic-go/webtransport-go v0.10.0 // indirect
261257
github.com/quipo/dependencysolver v0.0.0-20170801134659-2b009cb4ddcc // indirect
262258
github.com/r3labs/sse/v2 v2.10.0 // indirect
263259
github.com/rcrowley/go-metrics v0.0.0-20250401214520-65e299d6c5c9 // indirect
@@ -298,7 +294,6 @@ require (
298294
go.opentelemetry.io/otel/metric v1.40.0 // indirect
299295
go.opentelemetry.io/proto/otlp v1.9.0 // indirect
300296
go.uber.org/atomic v1.11.0 // indirect
301-
go.uber.org/automaxprocs v1.6.0 // indirect
302297
go.uber.org/dig v1.19.0 // indirect
303298
go.uber.org/fx v1.24.0 // indirect
304299
go.uber.org/multierr v1.11.0 // indirect
@@ -312,8 +307,8 @@ require (
312307
golang.org/x/telemetry v0.0.0-20251203150158-8fff8a5912fc // indirect
313308
golang.org/x/text v0.33.0 // indirect
314309
golang.org/x/tools v0.40.0 // indirect
315-
google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217 // indirect
316-
google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 // indirect
310+
google.golang.org/genproto/googleapis/api v0.0.0-20260128011058-8636f8732409 // indirect
311+
google.golang.org/genproto/googleapis/rpc v0.0.0-20260128011058-8636f8732409 // indirect
317312
gopkg.in/Knetic/govaluate.v3 v3.0.0 // indirect
318313
gopkg.in/cenkalti/backoff.v1 v1.1.0 // indirect
319314
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect

0 commit comments

Comments
 (0)