Skip to main content
← All vulnerabilities
CVE-2026-27820GHSA-G857-HHFV-J68W

zlib: Buffer Overflow in Zlib::GzipReader ungetc via large input leads to memory corruption

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 3.0.1, 3.1.2, 3.2.3
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: partial

Summary

zlib is a Ruby interface for the zlib compression/decompression library. Versions 3.0.0 and below, 3.1.0, 3.1.1, 3.2.0 and 3.2.1 contain a buffer overflow vulnerability in the 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. This issue has been fixed in versions 3.0.1, 3.1.2 and 3.2.3.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • ruby zlib

    fixed in 3.0.1; From 3.1.0 · fixed in 3.1.2; From 3.2.0 · fixed in 3.2.3

  • zlibRubyGems

    From 3.2.0 · fixed in 3.2.3

  • zlibRubyGems

    From 3.1.0 · fixed in 3.1.2

  • zlibRubyGems

    fixed in 3.0.1

References 2

GitHub · ruby/zlib

hackerone.com