Go 1.19.4 发布,同时 Go1.20 RC 也发布了
2022-12-8 09:57:57 Author: Go语言中文网(查看原文) 阅读量:40 收藏

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

大家好,我是站长 polarisxu。

近日,Go 官方发布了 Go1.19.4 和 Go1.18.9,主要包含安全更新:

  • os, net/http:避免 Windows 下,os.DirFS 和 http.Dir 转义。

    os.DirFS 函数和 http.Dir 类型提供对以给定目录为根的文件树的访问。这些函数允许访问该根目录下的 Windows 设备文件。例如,os.DirFS("C:/tmp").Open("COM1") 将打开 COM1 设备。

    os.DirFS 和 http.Dir 都只提供只读文件系统访问。

    此外,在 Windows 上,目录\(当前驱动器的根目录)的 os.DirFS 可以允许恶意制作的路径从 驱动器中逃逸并访问系统上的任何路径。

    os.DirFS("") 的行为已经改变。以前,空根被视为等同于“/”,因此 os.DirFS("").Open("tmp") 将打开路径 “/tmp”,这现在返回一个错误。

    详细 issue 见:https://go.dev/issue/56694。

  • net/http:按字节限制规范标头缓存(header cache),而不是条目(entries)

    攻击者可以在接受 HTTP/2 请求的 Go 服务器中导致内存过度增长。

    HTTP/2 服务器连接包含客户端发送的 HTTP 标头密钥的缓存。虽然此缓存中的条目总数有上限,但发送非常大的密钥的攻击者可能会导致服务器为每个打开的连接分配大约 64 MiB。

    此问题也已在 golang.org/x/net/http2 vX.YZ 中修复,供用户手动配置 HTTP/2。

    issue 见:https://go.dev/issue/56350。

Go 语言中文网为大家准备了最新版本的下载:https://studygolang.com/dl。

此外,今早 Go 官方又发布了 Go1.20 RC1,可以通过以下命令安装试用:

$ go install golang.org/dl/[email protected]
$ go1.20rc1 download

关于 Go1.20 的变化,可以查看官方文档:https://tip.golang.org/doc/go1.20。


推荐阅读

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


文章来源: http://mp.weixin.qq.com/s?__biz=MzAxMTA4Njc0OQ==&mid=2651453842&idx=1&sn=cefb936a702762b38aed8009520a3b82&chksm=80bb2760b7ccae767d95aff11159e1c6ed5ea36ca4cf6ca969f521c23d3e4bc9ad68f356e504#rd
如有侵权请联系:admin#unsafe.sh