Go 1.15.7 新鲜出炉:修复安全问题,建议升级

共 1352字,需浏览 3分钟

 ·

2021-01-23 09:31

点击上方蓝色“Go语言中文网”关注,每天一起学 Go

Go 官方刚刚发布了 Go 1.15.7 和 Go 1.14.14,以解决最近报告的安全问题。建议所有用户都更新到以下版本之一(如果不确定哪个版本,请选择 Go 1.15.7)。具体修复的安全问题如下:

1、cmd/go:使用 cgo 的包可能会在构建时导致任意代码执行。

当 Windows 上使用 cgo 时,go 命令可以在构建时执行任意代码。运行 “go get” 或任何其他构建代码的命令时,可能会发生这种情况。只有构建不受信任的代码(而不执行代码)的用户才会受到影响。

除 Windows 用户外,这还可能影响在 PATH 中使用了 “.” 的 Unix 用户,在模块外部或禁用模块模式下运行 “go get”或构建命令。

具体 issue:https://github.com/golang/go/issues/43783。

为此,Russ Cox 专门写了一篇博文介绍:https://blog.golang.org/path-security,阐述了该 bug,如何复现以及怎么修复的。(如果打不开,可以看 Go 语言中文网镜像:https://docs.studygolang.com/blog/path-security ,阅读原文可以直达)

2、crypto/elliptic:P-224 曲线上的错误操作。

在极少数情况下,P224() 曲线实现可能会产生不正确的输出,包括从 ScalarMult 返回无效点。crypto/x509 和golang.org/x/crypto/ocsp(但不包括 crypto/tls)包支持 P-224 ECDSA 密钥,但不受公共信任的证书颁发机构的支持。没有其他标准库或 golang.org/x/crypto 软件包支持或使用 P-224 曲线。

错误的输出是由 OSS-Fuzz 上运行的椭圆曲线-差分-模糊器项目[1]发现的,并由 Philippe Antoine(Catena cyber)报告。

具体 issue:https://github.com/golang/go/issues/43786。


Go 一直以来只维护两个主要版本的更新,对于 cmd/go 的问题,应该是之前版本就存在,因此,建议大家升级到最新版本。

在 Go 语言中文网可以下载最新版本:https://studygolang.com/dl。

参考资料

[1]

椭圆曲线-差分-模糊器项目: https://github.com/catenacyber/elliptic-curve-differential-fuzzer



推荐阅读


福利

我为大家整理了一份从入门到进阶的Go学习资料礼包,包含学习建议:入门看什么,进阶看什么。关注公众号 「polarisxu」,回复 ebook 获取;还可以回复「进群」,和数万 Gopher 交流学习。

浏览 37
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报