Skip to content

Commit 0d3653f

Browse files
twmbclaude
andcommitted
[fix][schema] Replace archived hamba/avro/v2 with maintained iskorotkov/avro/v2 fork
github.com/hamba/avro/v2 was archived in January 2026 and is no longer maintained; the maintainer confirmed it and endorsed forking (hamba/avro#595). It carries two advisories with no upstream fix: CVE-2026-46384 (GHSA-mc57-h6j3-3hmv) and CVE-2026-46385 (GHSA-w8j3-pq8g-8m7w). Switch the Avro dependency to the maintained fork github.com/iskorotkov/avro/v2 v2.33.1, which carries the fixes/mitigations (recorded in golang/vulndb#5047 and #5046). It is a drop-in replacement -- same package name and the same Parse/Marshal/Unmarshal API -- so the only code change is a single import-path swap in pulsar/schema.go. The fork is wire-compatible: byte-identical Avro output to hamba for the same schema, and each library cleanly decodes the other's encoded bytes. go mod tidy additionally prunes some already-orphaned indirect deps and applies minor MVS-forced version bumps pulled in by the fork. Signed-off-by: Travis Bischel <travis@redpanda.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 27e4313 commit 0d3653f

3 files changed

Lines changed: 37 additions & 62 deletions

File tree

go.mod

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ module github.com/apache/pulsar-client-go
33
go 1.25.0
44

55
require (
6-
github.com/99designs/keyring v1.2.1
76
github.com/AthenZ/athenz v1.12.13
87
github.com/DataDog/zstd v1.5.0
98
github.com/RoaringBitmap/roaring/v2 v2.8.0
@@ -16,8 +15,7 @@ require (
1615
github.com/golang-jwt/jwt/v5 v5.2.2
1716
github.com/golang/protobuf v1.5.4
1817
github.com/google/uuid v1.6.0
19-
github.com/hamba/avro/v2 v2.29.0
20-
github.com/klauspost/compress v1.18.0
18+
github.com/klauspost/compress v1.18.2
2119
github.com/onsi/ginkgo v1.16.5
2220
github.com/onsi/gomega v1.35.1
2321
github.com/opentracing/opentracing-go v1.2.0
@@ -26,20 +24,19 @@ require (
2624
github.com/prometheus/client_golang v1.20.5
2725
github.com/sirupsen/logrus v1.9.3
2826
github.com/spaolacci/murmur3 v1.1.0
29-
github.com/spf13/cobra v1.8.1
30-
github.com/stretchr/testify v1.10.0
27+
github.com/spf13/cobra v1.10.2
28+
github.com/stretchr/testify v1.11.1
3129
github.com/testcontainers/testcontainers-go v0.35.0
3230
go.uber.org/atomic v1.11.0
33-
golang.org/x/mod v0.29.0
31+
golang.org/x/mod v0.31.0
3432
golang.org/x/oauth2 v0.28.0
3533
golang.org/x/time v0.10.0
36-
google.golang.org/protobuf v1.36.5
34+
google.golang.org/protobuf v1.36.8
3735
gopkg.in/natefinch/lumberjack.v2 v2.2.1
3836
)
3937

4038
require (
4139
dario.cat/mergo v1.0.0 // indirect
42-
github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect
4340
github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 // indirect
4441
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect
4542
github.com/Microsoft/go-winio v0.6.2 // indirect
@@ -50,25 +47,22 @@ require (
5047
github.com/containerd/log v0.1.0 // indirect
5148
github.com/containerd/platforms v0.2.1 // indirect
5249
github.com/cpuguy83/dockercfg v0.3.2 // indirect
53-
github.com/danieljoos/wincred v1.1.2 // indirect
5450
github.com/distribution/reference v0.6.0 // indirect
5551
github.com/docker/go-units v0.5.0 // indirect
56-
github.com/dvsekhvalnov/jose2go v1.7.0 // indirect
5752
github.com/felixge/httpsnoop v1.0.4 // indirect
58-
github.com/fsnotify/fsnotify v1.8.0 // indirect
53+
github.com/fsnotify/fsnotify v1.9.0 // indirect
5954
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
6055
github.com/go-jose/go-jose/v4 v4.0.5 // indirect
6156
github.com/go-logr/logr v1.4.2 // indirect
6257
github.com/go-logr/stdr v1.2.2 // indirect
6358
github.com/go-ole/go-ole v1.2.6 // indirect
6459
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
65-
github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect
6660
github.com/gogo/protobuf v1.3.2 // indirect
6761
github.com/google/go-cmp v0.7.0 // indirect
6862
github.com/google/gofuzz v1.2.0 // indirect
6963
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
70-
github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect
7164
github.com/inconshreveable/mousetrap v1.1.0 // indirect
65+
github.com/iskorotkov/avro/v2 v2.33.1
7266
github.com/json-iterator/go v1.1.12 // indirect
7367
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
7468
github.com/magiconair/properties v1.8.7 // indirect
@@ -82,7 +76,6 @@ require (
8276
github.com/modern-go/reflect2 v1.0.2 // indirect
8377
github.com/morikuni/aec v1.0.0 // indirect
8478
github.com/mschoch/smat v0.2.0 // indirect
85-
github.com/mtibben/percent v0.2.1 // indirect
8679
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
8780
github.com/nxadm/tail v1.4.8 // indirect
8881
github.com/opencontainers/go-digest v1.0.0 // indirect
@@ -94,7 +87,7 @@ require (
9487
github.com/prometheus/procfs v0.15.1 // indirect
9588
github.com/shirou/gopsutil/v3 v3.23.12 // indirect
9689
github.com/shoenig/go-m1cpu v0.1.6 // indirect
97-
github.com/spf13/pflag v1.0.5 // indirect
90+
github.com/spf13/pflag v1.0.10 // indirect
9891
github.com/stretchr/objx v0.5.2 // indirect
9992
github.com/tklauser/go-sysconf v0.3.12 // indirect
10093
github.com/tklauser/numcpus v0.6.1 // indirect
@@ -109,8 +102,7 @@ require (
109102
go.opentelemetry.io/otel/trace v1.34.0 // indirect
110103
golang.org/x/crypto v0.45.0 // indirect
111104
golang.org/x/net v0.47.0 // indirect
112-
golang.org/x/sys v0.38.0 // indirect
113-
golang.org/x/term v0.37.0 // indirect
105+
golang.org/x/sys v0.39.0 // indirect
114106
golang.org/x/text v0.31.0 // indirect
115107
gopkg.in/inf.v0 v0.9.1 // indirect
116108
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect

0 commit comments

Comments
 (0)