Go 1.21.5 发布了
2023-12-6 15:1:22 Author: Go语言中文网(查看原文) 阅读量:10 收藏

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

大家好,我是站长 polarisxu。

今早,Go 官方发布了 Go1.21.5 和 Go1.20.12,这是两个小版本,主要是安全更新。

  • net/http:限制分块数据开销

    恶意 HTTP 发送方可以使用块扩展来导致,接收方从网络的请求或响应正文中读取比正文中更多的字节。

    恶意 HTTP 客户端可以进一步利用这一点,当处理程序无法读取整个请求正文时,导致服务器自动读取大量数据(最多约 1GiB)。

    块扩展是一个很少使用的 HTTP 功能,它允许在使用块编码发送的请求或响应正文中包含额外的元数据。net/http 块编码读取器丢弃此元数据。发送方可以通过插入一个大的元数据段来利用这一点。如果实际正文与编码字节的比例变得太小,块读取器现在会产生错误。详细 issue 见 https://go.dev/issue/64433。

  • cmd/go: go get 可能会意外回退到不安全的 git

    使用 go get 获取带有 “. git” 后缀的模块可能会意外回退到不安全 git;如果模块通过安全模块不可用,则使用不安全的 “git://” 协议

    来代替 “https://” 和 “git+ssh://” 协议,即使没有为上述设置 GOINSECURE。这仅影响未使用模块代理而直接获取模块的用户(即GOPROXY=off)。详细 issue 见 https://go.dev/issue/63845。

  • path/filepath: 清理路径时保留尾随 \,例如:\\?\c:\

    Go1.20.11 和 Go1.21.4 无意中更改了以 \\?\ 开头的 Windows 路径中卷名的定义,导致 filepath.Clean(\\?\c:\) 返回 \\?\c 而不是 \\?\c:\ (以及其他效果)。以前的行为已经恢复。详细 issue 见 https://go.dev/issue/64028。

    修复一个 Bug 引入新的 Bug~

Go 语言中文网为你准备了最新包,下载地址:https://studygolang.com/dl。

你也可以使用官方的方式更新使用:


推荐阅读

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


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