CVE-2024-27280

NameCVE-2024-27280
DescriptionA 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. 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. 3.0.3 is the main fixed version; however, for Ruby 3.0 users, a fixed version is stringio 3.0.1.1, and for Ruby 3.1 users, a fixed version is stringio 3.0.1.2.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
ReferencesDLA-3858-1, DSA-5677-1
Debian Bugs1069966

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
ruby2.7 (PTS)bullseye2.7.4-1+deb11u1vulnerable
bullseye (security)2.7.4-1+deb11u2fixed
ruby3.1 (PTS)bookworm, bookworm (security)3.1.2-7+deb12u1fixed
sid, trixie3.1.2-8.4vulnerable
ruby3.2 (PTS)sid3.2.3-1fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
ruby2.5source(unstable)(unfixed)
ruby2.7sourcebullseye2.7.4-1+deb11u2DLA-3858-1
ruby2.7source(unstable)(unfixed)
ruby3.1sourcebookworm3.1.2-7+deb12u1DSA-5677-1
ruby3.1source(unstable)(unfixed)1069966
ruby3.2source(unstable)(not affected)

Notes

- ruby3.2 <not-affected> (Fixed before initial upload to Debian)
https://www.ruby-lang.org/en/news/2024/03/21/buffer-overread-cve-2024-27280/
https://github.com/ruby/stringio/commit/a35268a3ac1b5f0058e5b7c1a041a7e86d9da067 (v3.0.3)
https://github.com/ruby/stringio/commit/c58c5f54f1eab99665ea6a161d29ff6a7490afc8 (v3.0.1.1)
Do not confuse with bugfix for https://bugs.ruby-lang.org/issues/19389:
https://github.com/ruby/stringio/commit/0e596524097706263d10900ca180898e4a8f5233 (v3.0.1.2)

Search for package or bug name: Reporting problems