Heap-based buffer overflow in Ruby 1.8, 1.9 before 1.9.3-p484, 2.0 before 2.0.0-p353, 2.1 before 2.1.0 preview2, and trunk before revision 43780 allows context-dependent attackers to cause a denial of service (segmentation fault) and possibly execute arbitrary code via a string that is converted to a floating point value, as demonstrated using (1) the to_f method or (2) JSON.parse.
{
"binaries": [
{
"binary_version": "1.9.3.448-1ubuntu2",
"binary_name": "libruby1.9.1"
},
{
"binary_version": "1.9.3.448-1ubuntu2",
"binary_name": "libtcltk-ruby1.9.1"
},
{
"binary_version": "1.9.3.448-1ubuntu2",
"binary_name": "ri1.9.1"
},
{
"binary_version": "1.9.3.448-1ubuntu2",
"binary_name": "ruby1.9.1"
},
{
"binary_version": "1.9.3.448-1ubuntu2",
"binary_name": "ruby1.9.1-dev"
},
{
"binary_version": "1.9.3.448-1ubuntu2",
"binary_name": "ruby1.9.1-examples"
},
{
"binary_version": "1.9.3.448-1ubuntu2",
"binary_name": "ruby1.9.1-full"
},
{
"binary_version": "1.9.3.448-1ubuntu2",
"binary_name": "ruby1.9.3"
}
],
"availability": "No subscription required"
}
{
"binaries": [
{
"binary_version": "2.0.0.343-1ubuntu1",
"binary_name": "libruby2.0"
},
{
"binary_version": "2.0.0.343-1ubuntu1",
"binary_name": "ruby2.0"
},
{
"binary_version": "2.0.0.343-1ubuntu1",
"binary_name": "ruby2.0-dev"
},
{
"binary_version": "2.0.0.343-1ubuntu1",
"binary_name": "ruby2.0-tcltk"
}
],
"availability": "No subscription required"
}