文 | Chris Broadfoot
你们好gophers,
最近爆出的两则安全问题,为了修复它,我们刚刚发布了Go 1.8.4和Go 1.9.1两个版本。
我们建议所有Go的开发者将版本升级(如果你不知道哪个,请选择1.9.1版本)。
这两个版本解决的问题如下:
01
通过嵌套git checkout
在另一个版本控制库里,攻击者很有可能借用go get
命令执行任何代码。现在Go命令已经停止使用版本控制里的checkout功能。
问题跟踪可以访问 https://golang.org/issue/22125
(Go 1.8.4) 和 https://golang.org/issue/22131
(Go 1.9.1)。修补方法也可以在链接里找到。
感谢Simon Rawet的报告。
02
在官方的smtp包中,PlainAuth一般是在加密的TLS连接中进行认证时才能发送凭证,但是从Go1.1版本开始,远程服务器如果支持简单的认证方式,它也能在非TLS连接中发送凭证。这个更改意味着允许在本机(localhost)上使用简单的认证方式,但是就允许了攻击者轻松的在认证期间获取到凭证。PlainAuth现在要求不管是TLS连接还是本地服务器发送凭证之前,不用考虑远程服务器的声明。
问题跟踪可以访问 https://golang.org/issue/22134
(Go 1.8.4) 和 https://golang.org/issue/22133
(Go 1.9.1). 修补方法也可以在链接里找到。
感谢Stevie Johnstone的报告。
可以从https://golang.org/dl
和其他相关平台上下载新版本。
Chris (Go团队代表)