On Windows, syscall.StartProcess and os/exec.Cmd did not properly
check for invalid environment variable values. A malicious
environment variable value could exploit this behavior to set a
value for a different environment variable. For example, the
environment variable string "A=B\x00C=D" set the variables "A=B" and
"C=D".
Thanks to RyotaK (https://twitter.com/ryotkak) for reporting this
issue.
This is CVE-2022-41716 and Go issue https://go.dev/issue/56284.
This Go release also fixes https://github.com/golang/go/issues/56309, a
runtime bug which can cause random memory corruption when a goroutine
exits with runtime.LockOSThread() set. This fix is necessary to unblock
work to replace certain uses of pkg/reexec with unshared OS threads.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
17 lines
470 B
Docker
17 lines
470 B
Docker
# syntax=docker/dockerfile:1
|
|
|
|
ARG GO_VERSION=1.19.3
|
|
ARG GOLANGCI_LINT_VERSION=v1.49.0
|
|
|
|
FROM golangci/golangci-lint:${GOLANGCI_LINT_VERSION}-alpine AS golangci-lint
|
|
|
|
FROM golang:${GO_VERSION}-alpine AS lint
|
|
ENV GO111MODULE=off
|
|
ENV CGO_ENABLED=0
|
|
ENV GOGC=75
|
|
WORKDIR /go/src/github.com/docker/cli
|
|
COPY --from=golangci-lint /usr/bin/golangci-lint /usr/bin/golangci-lint
|
|
RUN --mount=type=bind,target=. \
|
|
--mount=type=cache,target=/root/.cache \
|
|
golangci-lint run
|