北京时间 2019年10月18日凌晨2点49,Go team 宣布发布 Go1.13.2 和 Go1.12.11,Release Note 如下:
我们刚刚发布了 Go 1.13.2和Go 1.12.11,以解决最近报告的安全问题。我们建议所有受影响的用户更新到以下版本之一(如果不确定哪个版本,请选择 Go 1.13.2)。
无效的 DSA 公钥可能会导致 dsa.Verify 出现故障。特别是,在精心制作的 X.509 证书链上使用 `crypto/x509.Verify` 可能会导致 panic,即使证书没有链接到受信任的根。可以通过 `crypto/tls` 连接将链交付给客户端,或者接受和验证客户端证书的服务器。会通过 HTTPS 服务器使 `net/http` 客户端崩溃,而接受客户端证书的 `net/http` 服务器将恢复 panic 并且不受影响。
此外,在 X.509 证书请求,解析 `golang.org/x/crypto/openpgp` 实体或 `golang.org/x/crypto/otr` 对话期间,调用 `crypto/x509.(*CertificateRequest)` CheckSignature 的应用程序可能会崩溃。最后,由于主机密钥格式错误,`golang.org/x/crypto/ssh` 客户端可能会崩溃,而如果 PublicKeyCallback 接受格式错误的公钥,或者 IsUserAuthority 接受了格式错误的证书,则服务器可能会崩溃。
issue 是 CVE-2019-17596 和 Go 版本 [golang.org/issue/34960](https://github.com/golang/go/issues/34960)。
感谢 Daniel Mandragona 发现并报告此问题。我们还要感谢 regilero 先前披露的 CVE-2019-16276。
Go 1.13.2 版本还包含编译器修复程序,可防止在极少数情况下对负 slice 索引的不正确访问。受影响的代码(编译器可以证明索引为零或负数)将在 Go 1.12.11 中引起 panic ,但可能导致在 Go 1.13 和 Go 1.13.1 中进行任意内存读写。这是 Go issue [golang.org/issue/34802](https://github.com/golang/go/issues/34802)。
结果在 7点07分,又发布了 Go1.13.3 和 Go1.12.12,应该是上个版本有 bug,紧急修复。
因此不建议使用 Go 1.13.2和Go 1.12.11,可以到 https://studygolang.com/dl 下载 Go1.13.3 和 Go1.12.12。
有疑问加站长微信联系(非本文作者)