First published: Tue Mar 31 2020(Updated: )
An 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.
Credit: cve@mitre.org
Affected Software | Affected Version | How to fix |
---|---|---|
redhat/rh-ruby25-ruby | <0:2.5.9-9.el7 | 0:2.5.9-9.el7 |
redhat/rh-ruby26-ruby | <0:2.6.7-119.el7 | 0:2.6.7-119.el7 |
Ruby-lang Ruby | >=2.5.0<=2.5.7 | |
Ruby-lang Ruby | >=2.6.0<=2.6.5 | |
Ruby-lang Ruby | =2.7.0 | |
Linux Linux kernel | ||
Fedoraproject Fedora | =31 | |
Debian Debian Linux | =10.0 | |
debian/ruby2.5 | 2.5.5-3+deb10u4 2.5.5-3+deb10u6 | |
debian/ruby2.7 | 2.7.4-1+deb11u1 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
(Appears in the following advisories)
CVE-2020-10933 is a vulnerability in Ruby that allows an attacker to read arbitrary memory in the socket library.
Ruby 2.5.x through 2.5.7, 2.6.x through 2.6.5, and 2.7.0 are affected by CVE-2020-10933.
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, allowing an attacker to access uninitialized memory.
CVE-2020-10933 has a severity rating of 5.3, which is considered medium.
Update to Ruby version 2.5.9, 2.6.6, or 2.7.1 to mitigate CVE-2020-10933.