DescriptionAn issue was discovered in Ruby 2.5.x through 2.5.7, 2.6.x through 2.6.5, and 2.7.0. If a victim calls BasicSocket#read_nonblock(requested_size, buffer, exception: false), the method resizes the buffer to fit the requested size, but no data is copied. Thus, the buffer string provides the previous value of the heap. This may expose possibly sensitive data from the interpreter.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, bugtraq, EDB, Metasploit, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, Mageia, GitHub code/issues, web search, more)
NVD severitymedium

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
ruby2.1 (PTS)jessie2.1.5-2+deb8u3fixed
jessie (security)2.1.5-2+deb8u10fixed
ruby2.3 (PTS)stretch (security), stretch2.3.3-1+deb9u7fixed
ruby2.5 (PTS)buster, buster (security)2.5.5-3+deb10u1vulnerable
ruby2.7 (PTS)bullseye, sid2.7.1-3fixed

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

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
ruby2.1source(unstable)(not affected)
ruby2.3source(unstable)(not affected)


- ruby2.3 <not-affected> (Vulnerable code introduced in 2.5.0)
- ruby2.1 <not-affected> (Vulnerable code introduced in 2.5.0)
Fixed by:
Introduced around

Search for package or bug name: Reporting problems