Browse code

[19.03] Update Golang 1.12.16 (CVE-2020-0601, CVE-2020-7919)

full diff: https://github.com/golang/go/compare/go1.12.15...go1.12.16

go1.12.16 (released 2020/01/28) includes two security fixes. One mitigates the
CVE-2020-0601 certificate verification bypass on Windows. The other affects only
32-bit architectures.

https://github.com/golang/go/issues?q=milestone%3AGo1.12.16+label%3ACherryPickApproved

- X.509 certificate validation bypass on Windows 10
A Windows vulnerability allows attackers to spoof valid certificate chains when
the system root store is in use. These releases include a mitigation for Go
applications, but it’s strongly recommended that affected users install the
Windows security update to protect their system.
This issue is CVE-2020-0601 and Go issue golang.org/issue/36834.
- Panic in crypto/x509 certificate parsing and golang.org/x/crypto/cryptobyte
On 32-bit architectures, a malformed input to crypto/x509 or the ASN.1 parsing
functions of golang.org/x/crypto/cryptobyte can lead to a panic.
The malformed certificate can be delivered via a crypto/tls connection to a
client, or to a server that accepts client certificates. net/http clients can
be made to crash by an HTTPS server, while net/http servers that accept client
certificates will recover the panic and are unaffected.
Thanks to Project Wycheproof for providing the test cases that led to the
discovery of this issue. The issue is CVE-2020-7919 and Go issue golang.org/issue/36837.
This is also fixed in version v0.0.0-20200124225646-8b5121be2f68 of golang.org/x/crypto/cryptobyte.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

Sebastiaan van Stijn authored on 2020/01/30 06:16:59
Showing 4 changed files
... ...
@@ -25,7 +25,7 @@
25 25
 #
26 26
 
27 27
 ARG CROSS="false"
28
-ARG GO_VERSION=1.12.15
28
+ARG GO_VERSION=1.12.16
29 29
 ARG DEBIAN_FRONTEND=noninteractive
30 30
 
31 31
 FROM golang:${GO_VERSION}-stretch AS base
... ...
@@ -1,4 +1,4 @@
1
-ARG GO_VERSION=1.12.15
1
+ARG GO_VERSION=1.12.16
2 2
 
3 3
 FROM golang:${GO_VERSION}-alpine AS base
4 4
 
... ...
@@ -5,7 +5,7 @@
5 5
 
6 6
 # This represents the bare minimum required to build and test Docker.
7 7
 
8
-ARG GO_VERSION=1.12.15
8
+ARG GO_VERSION=1.12.16
9 9
 
10 10
 FROM golang:${GO_VERSION}-stretch
11 11
 
... ...
@@ -165,7 +165,7 @@ FROM microsoft/windowsservercore
165 165
 # Use PowerShell as the default shell
166 166
 SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
167 167
 
168
-ARG GO_VERSION=1.12.15
168
+ARG GO_VERSION=1.12.16
169 169
 
170 170
 # Environment variable notes:
171 171
 #  - GO_VERSION must be consistent with 'Dockerfile' used by Linux.