Go1.16.5 发布

Go语言精选

共 1749字,需浏览 4分钟

 ·

2021-06-08 08:16

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

大家好,我是站长 polarisxu。

刚刚 Go Team 发布了 Go 1.16.5 和 1.15.13,这是两个小版本发布。

这些小版本主要包括根据新安全策略(#44918[1])的安全修复。

  • 如果传入非常大的指数,math/big.Rat[2] 的 SetString 和 Unmarshaltext 方法可能导致 panic 或不可恢复的致命错误。这个问题见 #45910[3] 和 CVE-2021-33198。
  • net/http/httputil[4] 包中的 ReverseProxy 用于转发包含 hop-by-hop 头,有 Connection 的请求。如果 ReverseProxy 的目标本身是反向代理的,则这将让攻击者可以删除任意 header,包括由 ReverseProxy.Director 设置的 header。这个问题见 #46313[5] 和 CVE-2021-33197。
  • net[6] 包中的 LookupcName,LookUpsRv,Lookupmx,Lookupna 和 Lookupaddr 函数以及 Resolver[7] 类型上的各自方法可以返回从 DNS 检索的任意值,该值不遵循已建立的 RFC 1035 [8] 为域名规则。如果在没有进一步规范的情况下使用这些名称,例如在 HTML 中可能允许注入意外内容。这个问题见 #46241[9] 和 CVE-2021-33195。
  • 在读取包含大量文件的归档时(文件大小无所谓),archive/zip[10] 包中的 NewReader 和 OpenReader  函数可能导致 panic 或不可恢复的致命错误。这个问题见 #46242 [11] 和 CVE-2021-33196。

更多 Bug 修复见:https://github.com/golang/go/issues?q=milestone%3AGo1.16.5+label%3ACherryPickApproved。

如果你项目中使用了以上相关的函数或方法,强烈建议升级。

按官方方式升级:

也可以通过 「Go语言中文网」下载安装包升级:https://studygolang.com/dl。

参考资料

[1]

#44918: https://github.com/golang/go/issues/44918

[2]

math/big.Rat: https://pkg.go.dev/math/big#Rat

[3]

#45910: https://github.com/golang/go/issues/44910

[4]

net/http/httputil: https://pkg.go.dev/net/http/httputil

[5]

#46313: https://github.com/golang/go/issues/46313

[6]

net: https://pkg.go.dev/net

[7]

Resolver: https://pkg.go.dev/net#Resolver

[8]

RFC 1035 : https://datatracker.ietf.org/doc/html/rfc1035

[9]

#46241: https://github.com/golang/go/issues/46241

[10]

archive/zip: https://pkg.go.dev/archive/zip

[11]

#46242 : https://github.com/golang/go/issues/46242



推荐阅读


福利

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

浏览 39
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

分享
举报