Go 1.15.5 和 Go 1.14.12 发布

polaris · · 3608 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

Go Team 又发布了 Go 1.15.5 和 Go 1.14.12,以解决最近报告的安全问题。建议所有用户更新到以下版本之一(如果不确定哪个版本,请选择 Go 1.15.5)。 - math/big: 大数据递归除法时出现 panic。当提供精心设置的大数输入时,许多 math/big.Int 方法(Div,Exp,DivMod,Quo,Rem,QuoRem,Mod,ModInverse,ModSqrt,Jacobi 和 GCD)可能会 panic。为了避免发生 panic,除数或模参数必须大于 3168 位(在 32 位体系结构上)或 6336 位(在 64 位体系结构上)。多个 math/big.Rat 方法也受到类似的影响。 当提供精心审设置的公钥和签名时,crypto/rsa.VerifyPSS,crypto/rsa.VerifyPKCS1v15 和 crypto/dsa.Verify 可能会崩溃。仅当使用具有异常大的字段大小(比最大支持曲线 P-521 大几倍)的自定义 CurveParam 时,crypto/ecdsa 和 crypto/elliptic 操作才可能受到影响。在精心制作的 X.509 证书链上使用 crypto/x509.Verify 可能会导致 panic,即使证书没有链接到受信任的根。可以通过 crypto/tls 连接将链交付给客户端,或接受和验证客户端证书的服务器。可以通过 HTTPS 服务器使 net/http 客户端崩溃,而接受客户端证书的 net/http 服务器将 recover panic 并且不受影响。 此外,在 X.509 证书请求上或在 golang.org/x/crypto/otr 对话期间,调用 crypto/x509.(*CertificateRequest).CheckSignature 的应用程序可能会崩溃。解析 golang.org/x/crypto/openpgp 实体或验证签名可能会崩溃。最后,由于主机密钥格式错误,golang.org/x/crypto/ssh 客户端可能会崩溃,而如果 PublicKeyCallback 接受格式错误的公钥,或者 IsUserAuthority 接受了格式错误的证书,则服务器可能会崩溃。 相关 issue 见:<https://github.com/golang/go/issues/42552>。 - cmd/go:通过 cgo 在构建时执行任意代码。当使用 cgo 时,go 命令可以在构建时执行任意代码。当在恶意软件包上运行 go get 或生成不可信代码的任何其他命令时,可能会发生这种情况。这可能是由于通过 #cgo 指令指定的恶意 gcc 标志或链接的目标文件中的恶意符号名称引起的。相关 issue:<https://github.com/golang/go/issues/42556>、<https://github.com/golang/go/issues/42559> 如果你的项目中可能有上面的情况,建议你升级下版本。注意,因为 Go 每次只维护最近的两个版本,很多 bug 在之前的版本也是存在的,但官方并没有在旧版本中解决它们。 这里可以[下载最新版本](https://studygolang.com/dl)

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3608 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传