CVE-2020-10933

NameCVE-2020-10933
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)
ReferencesDSA-4721-1
NVD severitymedium

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
ruby2.3 (PTS)stretch2.3.3-1+deb9u8fixed
stretch (security)2.3.3-1+deb9u7fixed
ruby2.5 (PTS)buster, buster (security)2.5.5-3+deb10u2fixed
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.5sourcebuster2.5.5-3+deb10u2DSA-4721-1
ruby2.5source(unstable)(unfixed)
ruby2.7source(unstable)2.7.1-1

Notes

- ruby2.3 <not-affected> (Vulnerable code introduced in 2.5.0)
- ruby2.1 <not-affected> (Vulnerable code introduced in 2.5.0)
https://www.ruby-lang.org/en/news/2020/03/31/heap-exposure-in-socket-cve-2020-10933/
Fixed by: https://github.com/ruby/ruby/commit/61b7f86248bd121be2e83768be71ef289e8e5b90
Introduced around https://github.com/ruby/ruby/commit/ba5eb6458a7e9a41ee76cfe45b84f997600681dc
and https://github.com/ruby/ruby/commit/ba5eb6458a7e9a41ee76cfe45b84f997600681dc

Search for package or bug name: Reporting problems