An exploitable heap overflow vulnerability exists in the Fiddle::Function.new "initialize" function functionality of Ruby. In Fiddle::Function.new "initialize" heap buffer "arg_types" allocation is made based on args array length. Specially constructed object passed as element of args array can increase this array size after mentioned allocation and cause heap overflow.
{ "availability": "No subscription required", "ubuntu_priority": "low", "binaries": [ { "binary_version": "1.9.3.484-2ubuntu1.3", "binary_name": "libruby1.9.1" }, { "binary_version": "1.9.3.484-2ubuntu1.3", "binary_name": "libruby1.9.1-dbg" }, { "binary_version": "1.9.3.484-2ubuntu1.3", "binary_name": "libruby1.9.1-dbgsym" }, { "binary_version": "1.9.3.484-2ubuntu1.3", "binary_name": "libtcltk-ruby1.9.1" }, { "binary_version": "1.9.3.484-2ubuntu1.3", "binary_name": "libtcltk-ruby1.9.1-dbgsym" }, { "binary_version": "1.9.3.484-2ubuntu1.3", "binary_name": "ri1.9.1" }, { "binary_version": "1.9.3.484-2ubuntu1.3", "binary_name": "ruby1.9.1" }, { "binary_version": "1.9.3.484-2ubuntu1.3", "binary_name": "ruby1.9.1-dbgsym" }, { "binary_version": "1.9.3.484-2ubuntu1.3", "binary_name": "ruby1.9.1-dev" }, { "binary_version": "1.9.3.484-2ubuntu1.3", "binary_name": "ruby1.9.1-dev-dbgsym" }, { "binary_version": "1.9.3.484-2ubuntu1.3", "binary_name": "ruby1.9.1-examples" }, { "binary_version": "1.9.3.484-2ubuntu1.3", "binary_name": "ruby1.9.1-full" }, { "binary_version": "1.9.3.484-2ubuntu1.3", "binary_name": "ruby1.9.3" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "low", "binaries": [ { "binary_version": "2.0.0.484-1ubuntu2.4", "binary_name": "libruby2.0" }, { "binary_version": "2.0.0.484-1ubuntu2.4", "binary_name": "libruby2.0-dbgsym" }, { "binary_version": "2.0.0.484-1ubuntu2.4", "binary_name": "ruby2.0" }, { "binary_version": "2.0.0.484-1ubuntu2.4", "binary_name": "ruby2.0-dbgsym" }, { "binary_version": "2.0.0.484-1ubuntu2.4", "binary_name": "ruby2.0-dev" }, { "binary_version": "2.0.0.484-1ubuntu2.4", "binary_name": "ruby2.0-doc" }, { "binary_version": "2.0.0.484-1ubuntu2.4", "binary_name": "ruby2.0-tcltk" }, { "binary_version": "2.0.0.484-1ubuntu2.4", "binary_name": "ruby2.0-tcltk-dbgsym" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "low", "binaries": [ { "binary_version": "2.3.1-2~16.04", "binary_name": "libruby2.3" }, { "binary_version": "2.3.1-2~16.04", "binary_name": "libruby2.3-dbg" }, { "binary_version": "2.3.1-2~16.04", "binary_name": "libruby2.3-dbgsym" }, { "binary_version": "2.3.1-2~16.04", "binary_name": "ruby2.3" }, { "binary_version": "2.3.1-2~16.04", "binary_name": "ruby2.3-dbgsym" }, { "binary_version": "2.3.1-2~16.04", "binary_name": "ruby2.3-dev" }, { "binary_version": "2.3.1-2~16.04", "binary_name": "ruby2.3-dev-dbgsym" }, { "binary_version": "2.3.1-2~16.04", "binary_name": "ruby2.3-doc" }, { "binary_version": "2.3.1-2~16.04", "binary_name": "ruby2.3-tcltk" }, { "binary_version": "2.3.1-2~16.04", "binary_name": "ruby2.3-tcltk-dbgsym" } ] }