分享
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。
大家好,我是站长 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](http://golang.org/x/net/http2) vX.YZ 中修复,供用户手动配置 HTTP/2。
issue 见:<https://go.dev/issue/56350>。
Go 语言中文网为大家准备了最新版本的下载:<https://studygolang.com/dl>。
此外,今早 Go 官方又发布了 Go1.20 RC1,可以通过以下命令安装试用:
```bash
$ go install golang.org/dl/go1.20rc1@latest
$ go1.20rc1 download
```
关于 Go1.20 的变化,可以查看官方文档:<https://tip.golang.org/doc/go1.20>。
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信3030 次点击 ∙ 1 赞
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传