Go 1.19.3 和 1.18.8 已发布。
公告写道,这两个版本均包含 1 个遵循安全策略的安全修复,包括对os/exec
和syscall
软件包的安全修复,以及对运行时的错误修复。
- syscall, os/exec:环境变量中存在 unsanitized NUL
在 Windows 上,syscall.StartProcess 和 os/exec.Cmd 没有正确检查无效的环境变量值,导致恶意环境变量值可以利用此行为为不同的环境变量设置值。例如,环境变量字符串"A=B\x00C=D"可用于设置变量 "A=B" 和 "C=D"。
详情查看 Release Note。
Go 开发团队 leader Russ Cox 表示,这次的安全修复与 OpenSSL CRITICAL 安全补丁版本无关。因为 Go 团队并不对发布的安全补丁的严重性进行分类,毕竟严重性在本质上是与用户所处环境相关的。也就是说,这次的安全修复最坏的情况下也不会被 OpenSSL 评为“严重”。因此,如果开发者需要确定优先次序,可以先处理OpenSSL的问题。