Skip to content

Commit a77de80

Browse files
authored
Merge pull request #1125 from percona/PBM-crypto-cve
update the golang.org/x/crypto dependency to the latest compatible version to address CVE-2025-22869
2 parents 09ad16f + 0e9e4e2 commit a77de80

35 files changed

+712
-162
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ on:
3232
paths-ignore:
3333
- "e2e-tests/**"
3434
- "packaging/**"
35-
- "version/**"
35+
- "version/**"
3636

3737
jobs:
3838
test:
@@ -45,7 +45,7 @@ jobs:
4545
test: [logical, physical, incremental, external]
4646
env:
4747
PBM_BRANCH: ${{ github.event.inputs.pbm_branch || github.ref_name }}
48-
GO_VER: ${{ github.event.inputs.go_ver || '1.22-bullseye' }}
48+
GO_VER: ${{ github.event.inputs.go_ver || '1.23-bullseye' }}
4949
PR_NUMBER: ${{ github.event.number|| github.event.inputs.pr_ver }}
5050
MAKE_TARGET: 'build-cover'
5151
steps:

.github/workflows/codecov.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
- uses: actions/checkout@v4
1919
- uses: actions/setup-go@v4
2020
with:
21-
go-version: "1.22"
21+
go-version: "1.23"
2222
- name: test
2323
run: go test -v ./... -covermode=atomic -coverprofile=cover.out
2424

.github/workflows/reviewdog.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ jobs:
5151
- uses: actions/checkout@v4
5252
- uses: actions/setup-go@v4
5353
with:
54-
go-version: "1.22"
54+
go-version: "1.23"
5555
- name: golangci-lint
5656
uses: reviewdog/action-golangci-lint@v2
5757
with:
@@ -66,7 +66,7 @@ jobs:
6666
- uses: actions/checkout@v4
6767
- uses: actions/setup-go@v4
6868
with:
69-
go-version: "1.22"
69+
go-version: "1.23"
7070
- run: go install golang.org/x/tools/cmd/goimports@latest
7171
- run: go install mvdan.cc/gofumpt@latest
7272
- run: goimports -w -local "github.com/percona" $(find . -not -path "*/vendor/*" -name "*.go")
@@ -82,7 +82,7 @@ jobs:
8282
- uses: actions/checkout@v4
8383
- uses: actions/setup-go@v4
8484
with:
85-
go-version: "1.22"
85+
go-version: "1.23"
8686
- run: go install mvdan.cc/sh/v3/cmd/shfmt@latest
8787
- run: shfmt -f . | grep -v 'vendor' | xargs shfmt -w -s
8888
- name: suggester / shfmt

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ Otherwise, we will contact you for additional information or with the request to
5353

5454
To build Percona Backup for MongoDB from source code, you require the following:
5555

56-
* Go 1.22 or above. See [Installing and setting up Go tools](
56+
* Go 1.23 or above. See [Installing and setting up Go tools](
5757
https://golang.org/doc/install) for more information
5858
* make
5959
* ``krb5-devel`` for Red Hat Enterprise Linux / CentOS or ``libkrb5-dev`` for Debian / Ubuntu. This package is required for Kerberos authentication in Percona Server for MongoDB.

e2e-tests/docker/pbm.dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ COPY --from=mongo_image /bin/mongod /bin/
1212
RUN dnf install epel-release && dnf update && dnf install make gcc krb5-devel iproute-tc libfaketime
1313

1414
RUN arch=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) && \
15-
curl -sL -o /tmp/golang.tar.gz https://go.dev/dl/go1.22.5.linux-${arch}.tar.gz && \
15+
curl -sL -o /tmp/golang.tar.gz https://go.dev/dl/go1.23.2.linux-${arch}.tar.gz && \
1616
rm -rf /usr/local/go && tar -C /usr/local -xzf /tmp/golang.tar.gz && rm /tmp/golang.tar.gz
1717
ENV PATH=$PATH:/usr/local/go/bin
1818

e2e-tests/docker/tests.dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ WORKDIR /build
33
RUN dnf update && dnf install make gcc krb5-devel
44

55
RUN arch=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) && \
6-
curl -sL -o /tmp/golang.tar.gz https://go.dev/dl/go1.22.5.linux-${arch}.tar.gz && \
6+
curl -sL -o /tmp/golang.tar.gz https://go.dev/dl/go1.23.2.linux-${arch}.tar.gz && \
77
rm -rf /usr/local/go && tar -C /usr/local -xzf /tmp/golang.tar.gz && rm /tmp/golang.tar.gz
88
ENV PATH=$PATH:/usr/local/go/bin
99

go.mod

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
module github.com/percona/percona-backup-mongodb
22

3-
go 1.22
3+
go 1.23.0
4+
5+
toolchain go1.23.2
46

57
require (
68
cloud.google.com/go/storage v1.38.0
@@ -31,7 +33,7 @@ require (
3133
github.com/testcontainers/testcontainers-go/modules/mongodb v0.34.0
3234
go.mongodb.org/mongo-driver v1.17.1
3335
golang.org/x/mod v0.19.0
34-
golang.org/x/sync v0.11.0
36+
golang.org/x/sync v0.13.0
3537
google.golang.org/api v0.171.0
3638
gopkg.in/yaml.v2 v2.4.0
3739
)
@@ -120,13 +122,13 @@ require (
120122
go.opentelemetry.io/otel/trace v1.24.0 // indirect
121123
go.uber.org/atomic v1.9.0 // indirect
122124
go.uber.org/multierr v1.9.0 // indirect
123-
golang.org/x/crypto v0.33.0 // indirect
125+
golang.org/x/crypto v0.37.0 // indirect
124126
golang.org/x/exp v0.0.0-20240529005216-23cca8864a10 // indirect
125127
golang.org/x/net v0.35.0 // indirect
126128
golang.org/x/oauth2 v0.18.0 // indirect
127-
golang.org/x/sys v0.30.0 // indirect
128-
golang.org/x/term v0.29.0 // indirect
129-
golang.org/x/text v0.22.0 // indirect
129+
golang.org/x/sys v0.32.0 // indirect
130+
golang.org/x/term v0.31.0 // indirect
131+
golang.org/x/text v0.24.0 // indirect
130132
golang.org/x/time v0.5.0 // indirect
131133
google.golang.org/appengine v1.6.8 // indirect
132134
google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 // indirect

go.sum

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -342,8 +342,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
342342
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
343343
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
344344
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
345-
golang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus=
346-
golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M=
345+
golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE=
346+
golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc=
347347
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
348348
golang.org/x/exp v0.0.0-20240529005216-23cca8864a10 h1:vpzMC/iZhYFAjJzHU0Cfuq+w1vLLsF2vLkDrPjzKYck=
349349
golang.org/x/exp v0.0.0-20240529005216-23cca8864a10/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc=
@@ -377,8 +377,8 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ
377377
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
378378
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
379379
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
380-
golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w=
381-
golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
380+
golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
381+
golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
382382
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
383383
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
384384
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -395,18 +395,18 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc
395395
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
396396
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
397397
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
398-
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
399-
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
398+
golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
399+
golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
400400
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
401401
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
402-
golang.org/x/term v0.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU=
403-
golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s=
402+
golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o=
403+
golang.org/x/term v0.31.0/go.mod h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw=
404404
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
405405
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
406406
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
407407
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
408-
golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
409-
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
408+
golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
409+
golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
410410
golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
411411
golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
412412
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=

packaging/scripts/mongodb-backup_builder.sh

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -146,15 +146,19 @@ install_golang() {
146146
elif [ x"$ARCH" = "xaarch64" ]; then
147147
GO_ARCH="arm64"
148148
fi
149+
GO_VERSION="1.23.8"
150+
GO_TAR="go${GO_VERSION}.linux-${GO_ARCH}.tar.gz"
151+
GO_URL="https://downloads.percona.com/downloads/packaging/go/${GO_TAR}"
152+
DL_PATH="/tmp/${GO_TAR}"
149153
for i in {1..3}; do
150-
wget https://downloads.percona.com/downloads/packaging/go/go1.22.8.linux-${GO_ARCH}.tar.gz -O /tmp/golang1.22.tar.gz && break
154+
wget -q "$GO_URL" -O "$DL_PATH" && break
151155
echo "Failed to download GOLang, retrying in 10 seconds..."
152156
sleep 10
153157
done
154-
tar --transform=s,go,go1.22, -zxf /tmp/golang1.22.tar.gz
155-
rm -rf /usr/local/go1.22 /usr/local/go1.19 /usr/local/go1.11 /usr/local/go1.8 /usr/local/go1.9 /usr/local/go1.9.2 /usr/local/go
156-
mv go1.22 /usr/local/
157-
ln -s /usr/local/go1.22 /usr/local/go
158+
tar --transform=s,go,go${GO_VERSION}, -zxf "$DL_PATH"
159+
rm -rf /usr/local/go*
160+
mv go${GO_VERSION} /usr/local/
161+
ln -s /usr/local/go${GO_VERSION} /usr/local/go
158162
}
159163

160164
install_deps() {

vendor/golang.org/x/crypto/cryptobyte/asn1.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)