GitHub Advisoryadvisory · RubyGems

GHSA-v5h6-c2hv-hv3r StringIO buffer overread vulnerability

CRITICAL Published 2024-03-25 Modified 2025-11-04 Official page ↗
Aliases
CVE-2024-27280
Ecosystem
RubyGems
Packages
stringio
Severity
Critical
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weaknesses
CWE-120, CWE-126
Reviewed
2024-03-25

Affected packages

• RubyGems stringio: < 3.0.1.1 → fixed in 3.0.1.1

Description

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`.

Related

Alias · CVE (1)

  • CVE-2024-27280 A buffer-overread 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. vulnerability

Weakness · CWE (2)

  • CWE-120 Buffer Copy without Checking Size of Input weakness
  • CWE-126 Buffer Over-read weakness

References