Advisory Database
  • Advisories
  • Dependency Scanning
  1. gem
  2. ›
  3. stringio
  4. ›
  5. CVE-2024-27280

CVE-2024-27280: StringIO buffer overread vulnerability

March 25, 2024 (updated May 5, 2025)

An issue was discovered in StringIO 3.0.1, as distributed in Ruby 3.0.x through 3.0.6 and 3.1.x through 3.1.4.

The ungetbyte and ungetc methods on a StringIO can read past the end of a string, and a subsequent call to StringIO.gets may return the memory value.

This vulnerability is not affected StringIO 3.0.3 and later, and Ruby 3.2.x and later.

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

  • For Ruby 3.0 users: Update to stringio 3.0.1.1
  • For Ruby 3.1 users: Update to stringio 3.1.0.2

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

References

  • github.com/advisories/GHSA-v5h6-c2hv-hv3r
  • github.com/ruby/stringio
  • github.com/ruby/stringio/commit/0e596524097706263d10900ca180898e4a8f5233
  • github.com/ruby/stringio/commit/c58c5f54f1eab99665ea6a161d29ff6a7490afc8
  • github.com/rubysec/ruby-advisory-db/blob/master/gems/stringio/CVE-2024-27280.yml
  • hackerone.com/reports/1399856
  • nvd.nist.gov/vuln/detail/CVE-2024-27280
  • security.netapp.com/advisory/ntap-20250502-0003
  • www.ruby-lang.org/en/news/2024/03/21/buffer-overread-cve-2024-27280

Code Behaviors & Features

Detect and mitigate CVE-2024-27280 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.1

Fixed versions

  • 3.0.1.1

Solution

Upgrade to version 3.0.1.1 or above.

Impact 9.8 CRITICAL

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/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')
  • CWE-126: Buffer Over-read

Source file

gem/stringio/CVE-2024-27280.yml

Spotted a mistake? Edit the file on GitLab.

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

Page generated Wed, 14 May 2025 12:15:45 +0000.