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#readnonblock(requestedsize, 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.
{ "availability": "No subscription required", "ubuntu_priority": "low", "binaries": [ { "binary_version": "2.5.1-1ubuntu1.8", "binary_name": "libruby2.5" }, { "binary_version": "2.5.1-1ubuntu1.8", "binary_name": "libruby2.5-dbgsym" }, { "binary_version": "2.5.1-1ubuntu1.8", "binary_name": "ruby2.5" }, { "binary_version": "2.5.1-1ubuntu1.8", "binary_name": "ruby2.5-dbgsym" }, { "binary_version": "2.5.1-1ubuntu1.8", "binary_name": "ruby2.5-dev" }, { "binary_version": "2.5.1-1ubuntu1.8", "binary_name": "ruby2.5-doc" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "low", "binaries": [ { "binary_version": "2.7.0-5ubuntu1.3", "binary_name": "libruby2.7" }, { "binary_version": "2.7.0-5ubuntu1.3", "binary_name": "libruby2.7-dbgsym" }, { "binary_version": "2.7.0-5ubuntu1.3", "binary_name": "ruby2.7" }, { "binary_version": "2.7.0-5ubuntu1.3", "binary_name": "ruby2.7-dbgsym" }, { "binary_version": "2.7.0-5ubuntu1.3", "binary_name": "ruby2.7-dev" }, { "binary_version": "2.7.0-5ubuntu1.3", "binary_name": "ruby2.7-doc" } ] }