Advisory Database
  • Advisories
  • Dependency Scanning
  1. gem
  2. ›
  3. zlib
  4. ›
  5. CVE-2026-27820

CVE-2026-27820: Buffer Overflow in Zlib::GzipReader ungetc via large input leads to memory corruption

April 16, 2026

Details

A buffer overflow vulnerability exists in Zlib::GzipReader.

The zstream_buffer_ungets function prepends caller-provided bytes ahead of previously produced output but fails to guarantee the backing Ruby string has enough capacity before the memmove shifts the existing data. This can lead to memory corruption when the buffer length exceeds capacity.

Recommended action

We recommend to update the zlib gem to version 3.2.3 or later. In order to ensure compatibility with bundled version in older Ruby series, you may update as follows instead:

  • For Ruby 3.2 users: Update to zlib 3.0.1
  • For Ruby 3.3 users: Update to zlib 3.1.2

You can use gem update zlib to update it. If you are using bundler, please add gem "zlib", ">= 3.2.3" to your Gemfile.

Affected versions

zlib gem 3.2.2 or lower

Credits

calysteon

References

  • https://hackerone.com/reports/3467067

References

  • github.com/advisories/GHSA-g857-hhfv-j68w
  • github.com/ruby/zlib
  • github.com/ruby/zlib/security/advisories/GHSA-g857-hhfv-j68w
  • github.com/rubysec/ruby-advisory-db/blob/master/gems/zlib/CVE-2026-27820.yml
  • hackerone.com/reports/3467067
  • nvd.nist.gov/vuln/detail/CVE-2026-27820
  • www.ruby-lang.org/en/news/2026/03/05/buffer-overflow-zlib-cve-2026-27820

Code Behaviors & Features

Detect and mitigate CVE-2026-27820 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions before 3.0.1, all versions starting from 3.1.0 before 3.1.2, all versions starting from 3.2.0 before 3.2.3

Fixed versions

  • 3.2.3
  • 3.1.2
  • 3.0.1

Solution

Upgrade to versions 3.0.1, 3.1.2, 3.2.3 or above.

Impact 7.8 HIGH

CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

Learn more about CVSS

Weakness

  • CWE-120: Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')

Source file

gem/zlib/CVE-2026-27820.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sat, 09 May 2026 12:19:59 +0000.