8月14日发布了Go 1.12.8 和 Go 1.11.13 来解决最近报告的安全问题。我们建议所有用户更新到其中一个版本(如果您不确定哪个版本,请选择Go 1.12.8)。
- net/http:接受来自不受信任客户端的直接连接的 HTTP/2实现
net/http 和 [golang.org/x/net/http2](http://golang.org/x/net/http2) 服务器中的拒绝服务漏洞可以远程进行分配无限量的内存,直到程序崩溃。如果发送队列累积了太多控制消息,服务器现在将关闭连接。
这个 issue 是 CVE-2019-9512 和 CVE-2019-9514,以及 Go issue [golang.org/issue/33606](https://github.com/golang/go/issue/33606)。
感谢 Netflix 的 Jonathan Looney 发现并报告了这些问题。
[golang.org/x/net/http2](https://golang.org/x/net/http2) 版本 v0.0.0-20190813141303-74dc4d7220e7 中也修复了此问题。
- net/url:解析验证问题
url.Parse 会接受具有格式错误的主机的 URL,这样 Host 字段可能具有任何后缀,这些后缀既不会出现在 Hostname() 也不会出现在 Port() 中,从而允许在某些应用程序中绕过授权。请注意,具有无效而非数字端口的 URL 现在将从 url.Parse 返回错误。
这个 issue 是 CVE-2019-14809 和 Go issue 的 [golang.org/issue/29098](https://github.com/golang/go/issue/29098)。
感谢来自 Cure53 的 Julian Hector 和 Nikolai Kerin 以及 Adi Cohen(adico.me)发现和报告此问题。
有关所有支持的平台,请访问 https://studygolang.com/dl。
有疑问加站长微信联系(非本文作者)