Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
layout: news_post
title: "CVE-2026-27820: Zlib::GzipReader 中的缓存区溢出漏洞"
author: "hsbt"
translator: "GAO Jun"
date: 2026-03-05 00:00:00 +0000
tags: security
lang: zh_cn
---

`Zlib::GzipReader` 中存在一个缓存区溢出漏洞。此漏洞的 CVE 编号为 [CVE-2026-27820](https://www.cve.org/CVERecord?id=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](https://hackerone.com/calysteon) 汇报此问题。同时感谢 [nobu](https://github.com/nobu) 制作了补丁。

## 历史

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