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,36 @@
---
layout: news_post
title: "CVE-2026-27820: Zlib::GzipReader におけるバッファオーバーフロー脆弱性"
author: "hsbt"
translator: "egamasa"
date: 2026-03-05 00:00:00 +0000
tags: security
lang: ja
---

`Zlib::GzipReader` に、バッファオーバーフローの脆弱性が存在します。この脆弱性は、[CVE-2026-27820](https://www.cve.org/CVERecord?id=CVE-2026-27820) として登録されています。zlib gem のアップグレードを推奨します。

## 詳細

`zstream_buffer_ungets` 関数は、呼び出し元から提供されたバイト列を既存の出力の前に挿入しますが、memmove で既存データを移動する前に、バッファの実体である 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 を使っている場合は、 `Gemfile` に `gem "zlib", ">= 3.2.3"` を追加してください。

## 影響を受けるバージョン

* zlib gem 3.2.2 およびそれ以前のバージョン

## クレジット

この脆弱性情報は、[calysteon](https://hackerone.com/calysteon) 氏によって報告されました。また、[nobu](https://github.com/nobu) 氏によって修正されました。

## 更新履歴

* 2026-03-05 09:00:00 (JST) 初版