update to go1.21.4, go1.20.11

go1.21.4 (released 2023-11-07) includes security fixes to the path/filepath
package, as well as bug fixes to the linker, the runtime, the compiler, and
the go/types, net/http, and runtime/cgo packages. See the Go 1.21.4 milestone
on our issue tracker for details:

- https://github.com/golang/go/issues?q=milestone%3AGo1.21.4+label%3ACherryPickApproved
- full diff: https://github.com/golang/go/compare/go1.21.3...go1.21.4

from the security mailing:

[security] Go 1.21.4 and Go 1.20.11 are released

Hello gophers,

We have just released Go versions 1.21.4 and 1.20.11, minor point releases.

These minor releases include 2 security fixes following the security policy:

- path/filepath: recognize `\??\` as a Root Local Device path prefix.

  On Windows, a path beginning with `\??\` is a Root Local Device path equivalent
  to a path beginning with `\\?\`. Paths with a `\??\` prefix may be used to
  access arbitrary locations on the system. For example, the path `\??\c:\x`
  is equivalent to the more common path c:\x.

  The filepath package did not recognize paths with a `\??\` prefix as special.

  Clean could convert a rooted path such as `\a\..\??\b` into
  the root local device path `\??\b`. It will now convert this
  path into `.\??\b`.

  `IsAbs` did not report paths beginning with `\??\` as absolute.
  It now does so.

  VolumeName now reports the `\??\` prefix as a volume name.

  `Join(`\`, `??`, `b`)` could convert a seemingly innocent
  sequence of path elements into the root local device path
  `\??\b`. It will now convert this to `\.\??\b`.

  This is CVE-2023-45283 and https://go.dev/issue/63713.

- path/filepath: recognize device names with trailing spaces and superscripts

  The `IsLocal` function did not correctly detect reserved names in some cases:

  - reserved names followed by spaces, such as "COM1 ".
  - "COM" or "LPT" followed by a superscript 1, 2, or 3.

  `IsLocal` now correctly reports these names as non-local.

  This is CVE-2023-45284 and https://go.dev/issue/63713.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Sebastiaan van Stijn 2023-11-08 19:10:43 +01:00
parent d55bfab176
commit 2122004525
No known key found for this signature in database
GPG Key ID: 76698F39D527CE8C
10 changed files with 12 additions and 12 deletions

View File

@ -43,7 +43,7 @@ jobs:
steps: steps:
- uses: actions/setup-go@v3 - uses: actions/setup-go@v3
with: with:
go-version: "1.21.3" go-version: "1.21.4"
- uses: actions/checkout@v3 - uses: actions/checkout@v3
with: with:

View File

@ -9,7 +9,7 @@ on:
env: env:
# Go version we currently use to build containerd across all CI. # Go version we currently use to build containerd across all CI.
# Note: don't forget to update `Binaries` step, as it contains the matrix of all supported Go versions. # Note: don't forget to update `Binaries` step, as it contains the matrix of all supported Go versions.
GO_VERSION: "1.21.3" GO_VERSION: "1.21.4"
permissions: # added using https://github.com/step-security/secure-workflows permissions: # added using https://github.com/step-security/secure-workflows
contents: read contents: read
@ -209,7 +209,7 @@ jobs:
strategy: strategy:
matrix: matrix:
os: [ubuntu-22.04, macos-12, windows-2019, windows-2022] os: [ubuntu-22.04, macos-12, windows-2019, windows-2022]
go-version: ["1.20.10", "1.21.3"] go-version: ["1.20.11", "1.21.4"]
steps: steps:
- uses: actions/setup-go@v4 - uses: actions/setup-go@v4
with: with:

View File

@ -34,7 +34,7 @@ jobs:
- uses: actions/setup-go@v3 - uses: actions/setup-go@v3
with: with:
go-version: 1.21.3 go-version: 1.21.4
# Initializes the CodeQL tools for scanning. # Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL - name: Initialize CodeQL

View File

@ -28,7 +28,7 @@ jobs:
steps: steps:
- uses: actions/setup-go@v3 - uses: actions/setup-go@v3
with: with:
go-version: "1.21.3" go-version: "1.21.4"
- uses: actions/checkout@v3 - uses: actions/checkout@v3
with: with:

View File

@ -7,7 +7,7 @@ on:
- ".github/workflows/nightly.yml" - ".github/workflows/nightly.yml"
env: env:
GO_VERSION: "1.21.3" GO_VERSION: "1.21.4"
permissions: # added using https://github.com/step-security/secure-workflows permissions: # added using https://github.com/step-security/secure-workflows
contents: read contents: read

View File

@ -13,7 +13,7 @@ on:
name: Release name: Release
env: env:
GO_VERSION: "1.21.3" GO_VERSION: "1.21.4"
permissions: # added using https://github.com/step-security/secure-workflows permissions: # added using https://github.com/step-security/secure-workflows
contents: read contents: read

2
Vagrantfile vendored
View File

@ -104,7 +104,7 @@ EOF
config.vm.provision "install-golang", type: "shell", run: "once" do |sh| config.vm.provision "install-golang", type: "shell", run: "once" do |sh|
sh.upload_path = "/tmp/vagrant-install-golang" sh.upload_path = "/tmp/vagrant-install-golang"
sh.env = { sh.env = {
'GO_VERSION': ENV['GO_VERSION'] || "1.21.3", 'GO_VERSION': ENV['GO_VERSION'] || "1.21.4",
} }
sh.inline = <<~SHELL sh.inline = <<~SHELL
#!/usr/bin/env bash #!/usr/bin/env bash

View File

@ -29,7 +29,7 @@
# docker run --privileged containerd-test # docker run --privileged containerd-test
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
ARG GOLANG_VERSION=1.21.3 ARG GOLANG_VERSION=1.21.4
ARG GOLANG_IMAGE=golang ARG GOLANG_IMAGE=golang
FROM ${GOLANG_IMAGE}:${GOLANG_VERSION} AS golang FROM ${GOLANG_IMAGE}:${GOLANG_VERSION} AS golang

View File

@ -43,11 +43,11 @@ go run main.go $SRC/containerd/images
apt-get update && apt-get install -y wget apt-get update && apt-get install -y wget
cd $SRC cd $SRC
wget --quiet https://go.dev/dl/go1.21.3.linux-amd64.tar.gz wget --quiet https://go.dev/dl/go1.21.4.linux-amd64.tar.gz
mkdir temp-go mkdir temp-go
rm -rf /root/.go/* rm -rf /root/.go/*
tar -C temp-go/ -xzf go1.21.3.linux-amd64.tar.gz tar -C temp-go/ -xzf go1.21.4.linux-amd64.tar.gz
mv temp-go/go/* /root/.go/ mv temp-go/go/* /root/.go/
cd $SRC/containerd cd $SRC/containerd

View File

@ -5,7 +5,7 @@
# lived test environment. # lived test environment.
Set-MpPreference -DisableRealtimeMonitoring:$true Set-MpPreference -DisableRealtimeMonitoring:$true
$PACKAGES= @{ mingw = "10.2.0"; git = ""; golang = "1.21.3"; make = ""; nssm = "" } $PACKAGES= @{ mingw = "10.2.0"; git = ""; golang = "1.21.4"; make = ""; nssm = "" }
Write-Host "Downloading chocolatey package" Write-Host "Downloading chocolatey package"
curl.exe -L "https://packages.chocolatey.org/chocolatey.0.10.15.nupkg" -o 'c:\choco.zip' curl.exe -L "https://packages.chocolatey.org/chocolatey.0.10.15.nupkg" -o 'c:\choco.zip'