From the mailing list:
We have just released Go versions 1.19.1 and 1.18.6, minor point releases.
These minor releases include 2 security fixes following the security policy:
- net/http: handle server errors after sending GOAWAY
A closing HTTP/2 server connection could hang forever waiting for a clean
shutdown that was preempted by a subsequent fatal error. This failure mode
could be exploited to cause a denial of service.
Thanks to Bahruz Jabiyev, Tommaso Innocenti, Anthony Gavazzi, Steven Sprecher,
and Kaan Onarlioglu for reporting this.
This is CVE-2022-27664 and Go issue https://go.dev/issue/54658.
- net/url: JoinPath does not strip relative path components in all circumstances
JoinPath and URL.JoinPath would not remove `../` path components appended to a
relative path. For example, `JoinPath("https://go.dev", "../go")` returned the
URL `https://go.dev/../go`, despite the JoinPath documentation stating that
`../` path elements are cleaned from the result.
Thanks to q0jt for reporting this issue.
This is CVE-2022-32190 and Go issue https://go.dev/issue/54385.
Release notes:
go1.18.6 (released 2022-09-06) includes security fixes to the net/http package,
as well as bug fixes to the compiler, the go command, the pprof command, the
runtime, and the crypto/tls, encoding/xml, and net packages. See the Go 1.18.6
milestone on the issue tracker for details;
https://github.com/golang/go/issues?q=milestone%3AGo1.18.6+label%3ACherryPickApproved
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 1061f74496)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
49 lines
1.3 KiB
Docker
49 lines
1.3 KiB
Docker
# syntax=docker/dockerfile:1
|
|
|
|
ARG GO_VERSION=1.18.6
|
|
|
|
FROM golang:${GO_VERSION}-alpine AS golang
|
|
ENV CGO_ENABLED=0
|
|
|
|
FROM golang AS esc
|
|
ARG ESC_VERSION=v0.2.0
|
|
RUN --mount=type=cache,target=/root/.cache/go-build \
|
|
--mount=type=cache,target=/go/pkg/mod \
|
|
--mount=type=tmpfs,target=/go/src/ \
|
|
GO111MODULE=on go install github.com/mjibson/esc@${ESC_VERSION}
|
|
|
|
FROM golang AS gotestsum
|
|
ARG GOTESTSUM_VERSION=v0.4.0
|
|
RUN --mount=type=cache,target=/root/.cache/go-build \
|
|
--mount=type=cache,target=/go/pkg/mod \
|
|
--mount=type=tmpfs,target=/go/src/ \
|
|
GO111MODULE=on go install gotest.tools/gotestsum@${GOTESTSUM_VERSION}
|
|
|
|
FROM golang AS vndr
|
|
ARG VNDR_VERSION=v0.1.2
|
|
RUN --mount=type=cache,target=/root/.cache/go-build \
|
|
--mount=type=cache,target=/go/pkg/mod \
|
|
--mount=type=tmpfs,target=/go/src/ \
|
|
GO111MODULE=on go install github.com/LK4D4/vndr@${VNDR_VERSION}
|
|
|
|
FROM golang AS dev
|
|
RUN apk add --no-cache \
|
|
bash \
|
|
build-base \
|
|
ca-certificates \
|
|
coreutils \
|
|
curl \
|
|
git
|
|
|
|
CMD bash
|
|
ENV DISABLE_WARN_OUTSIDE_CONTAINER=1
|
|
ENV PATH=$PATH:/go/src/github.com/docker/cli/build
|
|
|
|
COPY --from=esc /go/bin/* /go/bin/
|
|
COPY --from=vndr /go/bin/* /go/bin/
|
|
COPY --from=gotestsum /go/bin/* /go/bin/
|
|
|
|
WORKDIR /go/src/github.com/docker/cli
|
|
ENV GO111MODULE=auto
|
|
COPY . .
|