Go 1.14.7 和 Go 1.13.15 更新;Go1.15 RC2 发布

2020-08-08 17:12:43 浏览数 (3)

Go语言这次依旧还是小版本更新,包括 Go 1.14.7Go 1.13.15,主要解决最近报告的安全问题。为什么Go 每次更新都是发布两个版本?这是 Go 的惯例,会同时维护两个版本的更新,比如现在是 Go1.14Go1.13,如果 Go1.15 发布了,之后就会变成 Go1.15Go1.14

(推荐教程:Go Web 编程

因为涉及到安全问题,建议所有用户都进行相应版本更新(如果不确定哪个版本,请选择 Go 1.14.7)。

涉及到的具体问题如下:

  • encoding/binaryReadUvarintReadVarint 可以从无效输入中读取无限数量的字节。对 ReadUvarintReadVarint 的某些无效输入可能导致这些函数在返回错误之前从 ByteReader 参数读取无限数量的字节。当调用者直接从网络读取数据时,这可能导致处理的输入超出预期,并且依赖于 ReadUvarintReadVarint 甚至仅从无效输入中仅消耗少量的有限字节数。在更新后,ReadUvarintReadVarint 现在总是在消耗了一定数量的字节(特别是 MaxVarintLen64,即 10)之后返回。返回的结果没有改变;这些函数仅检测并返回一些错误,而无需读取过多的输入。具体 issue 见:https://github.com/golang/go/issues/40618

(推荐微课:Go 基础微课

在刚刚发布的 Go1.15 RC2 版本中,也修复了该问题。关于 Go1.15 的更多信息可以参见文档:https://tip.golang.org/doc/go1.15, 已经8月份了,Go1.15 正式发布应该不远了。

0 人点赞