CVE-2026-27820: Zlib::GzipReader 中的缓存区溢出漏洞

hsbt 发表于 2026-03-05
翻译: GAO Jun

Zlib::GzipReader 中存在一个缓存区溢出漏洞。此漏洞的 CVE 编号为 CVE-2026-27820。 我们建议您更新 zlib gem。

详情

zstream_buffer_ungets 函数会在生成的输出前加上调用者提供的字节,但没有确保对应的 Ruby 字符串的长度是否足够。 当缓冲区长度超过字符串容量时,将导致内存损坏。

建议操作

我们建议将 zlib gem 更新到 3.2.3 或后续版本。为了确保与较旧 Ruby 系列绑定版本的兼容性,您可以使用下面的方法进行更新:

  • Ruby 3.2:更新到 zlib 3.0.1
  • Ruby 3.3:更新到 zlib 3.1.2

您可以通过 gem update zlib 进行更新。如果您使用 bundler,请将 gem "zlib", ">= 3.2.3" 添加到 Gemfile 中。

受影响版本

zlib gem 3.2.2 或之前发布的版本

致谢

感谢 calysteon 汇报此问题。同时感谢 nobu 制作了补丁。

历史

  • 最初发布于 2026-03-05 09:00:00 (UTC)

最新消息

Ruby 3.2.11 已发布

Ruby 3.2.11 已发布。 此版本包括了 处理 CVE-2026-27820 的 zlib gem 更新。

hsbt 发表于 2026-03-27

Ruby 3.3.11 已发布

Ruby 3.3.11 已发布。此版本包括了 处理 CVE-2026-27820 的 zlib gem 更新,以及一些其他问题补丁。

hsbt 发表于 2026-03-26

更多新闻...