大家好,我是站长 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 修复见:。
如果你项目中使用了以上相关的函数或方法,强烈建议升级。
按官方方式升级:
也可以通过 「Go语言中文网」下载安装包升级:。
参考资料
[1]
#44918:
[2]
math/big.Rat: #Rat
[3]
#45910:
[4]
net/http/httputil:
[5]
#46313:
[6]
net:
[7]
Resolver: #Resolver
[8]
RFC 1035 :
[9]
#46241:
[10]
archive/zip:
[11]
#46242 :