Go 1.19.4 和 1.18.9 发布,修复两个安全问题


Go 1.19.3 和 1.18.8 已发布这些次要版本包括 2 个遵循安全策略的安全修复程序:

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”,现在则返回一个错误。

这是 CVE-2022-41720 和 Go issue https://go.dev/issue/56694

net/http:按字节限制规范标头缓存,而不是条目

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

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

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

这是 CVE-2022-41717 和 Go issue  https://go.dev/issue/56350。

 

Go 1.19.4 还包含其他修复项,详细可在 Milestone 中查阅。 

Go 1.18.9 的其他细项查看对应的 Milestone 。 


相關推薦

2022-11-02

Go 1.19.3 和 1.18.8 已发布。 公告写道,这两个版本均包含 1 个遵循安全策略的安全修复,包括对os/exec和syscall软件包的安全修复,以及对运行时的错误修复。 syscall, os/exec:环境变量中存在 unsanitized NUL 在 Windows 上,syscall

2023-04-06

Go 1.20.3 和 1.19.8 已发布。 两个版本的更新内容都是修复安全问题,包括对 go/parser, html/template, mime/multipart, net/http 和 net/textproto 软件包的安全修复,以及对编译器、链接器、运行时和时间软件包的错误修复。 详情查看 Release

2022-09-25

Node.js 发布了 3 个更新,分别是 14.20.1 (LTS)、16.17.1 (LTS) 和 18.9.1。三个版本的主要更新都是修复安全问题。 14.20.1 (LTS) CVE-2022-32212: 在 macOS 上的 --inspect 中重新绑定 DNS(高危) CVE-2022-32213: 通过 obs-fold 机制实现的绕过(中等

2022-09-13

Go 博客发布了 2022 年第二季度 Go 开发者调查报告。据介绍,总共有 5752 名开发者参与了本次调查,分享了他们使用 Go 1.18 中新特性的经验和心得。 主要发现 泛型已被迅速采用。大多数受访者都知道 Go 1.18 已正式支持泛型

2023-05-18

Go 博客发布了 2023 年第一季度 Go 开发者调查。共 5,844 名开发者参与了本次调查,分享了他们有关如何使用 Go、在使用 Go 时遇到的最大挑战、以及他们首要考虑的改进方向等方面的内容。 今年的调查引入了一个基于自我认定的

2023-10-09

Go 近日发布了 Go 1.21.2 和 Go 1.20.9 两个小版本。 Go 1.21.2 是 1.21 的第 2 个安全补丁,主要涉及一个安全更新: cmd/go:line 指令允许在构建期间任意执行 根据 issue 的描述,"//line" 指令可用于绕过对 "//go:cgo_" 指令的限制,允

2022-12-20

Docker 20.10.22 现已发布,具体更新内容包括: Bug fixes and enhancements 改进尝试拉取不受支持的图像格式或 OCI 工件时的错误消息(moby/moby#44413、moby/moby#44569)。 修复了在为容器选择随机端口时忽略主机的临时端口范围的问题 (&

2022-04-06

考虑。 所有构建都被“锁定 (locked)” 外部变化(例如发布依赖项的新版本)不会影响 Go 构建。 与其他大多数软件包管理器所使用的配置文件不同,Go modules 没有单独的约束列表和用于锁定特定版本的 lock 文件。参与 Go 构建

2023-06-22

Hugo 是一个用 Go 语言编写的静态 HTML 和 CSS 网站生成器。它针对速度、易用性和可配置性进行了优化。Hugo 将一个带有内容和模板的目录,渲染成一个完整的 HTML 网站。 这个版本的主要内容是现在支持 Dart Sass Embedded 协议的两个

2022-04-02

知名软件行业分析公司 RedMonk 发布了 2022 年 1 月(第一季度)。 RedMonk 编程语言排行榜通过追踪编程语言在 GitHub 和 Stack Overflow 上的代码使用情况与讨论数量,统计分析后进行排序,其旨在深入了解潜在的语言采用趋势。该榜

2023-03-06

在线学习平台 O'Reilly 最新发布了 2023 年度技术趋势报告,基于该平台 280 万的用户数据,以了解开发人员的兴趣所在。调查结果表明,开发人员对生成式 AI 关键组件的兴趣正在加速增长:有关自然语言处理 (NLP) 的内容同比增长

2022-04-02

础上再延长两年,至 2025 年。 Qt 5.15 LTS 于 2020 年 5 月发布,按照 Qt 的原计划以及以往的传统(即常规的 Qt 版本在标准支持下的支持期为一年,LTS 版本在标准支持下则是三年时间),Qt 5.15 LTS 的支持结束时间为 2023 年 5 月,

2023-08-30

模型与底层技术 >>> Notary 项目维护人员宣布了一项重大发布,包括 Notary 项目规范 v1.0.0、notation v1.0.0、notation-go v1.0.0 和notation-core-go v1.0.0,已经可以用于生产环境! Notation 是 Notary 项目的一个子项目,包括 notation CLI 和两

2021-12-07

不同的模块:Graphite、Hunspell 和 Ogg。在 Firefox 96 中,另外两个模块:Expat 和 Woff2 也将被隔离。 Mozilla 工程师 Bobby Holley 表示: RLBox 让我们在几个方面都能获得巨大的好处:它能够保护用户不受意外缺陷和供应链攻击的影响