Ruby through 2.4.7, 2.5.x through 2.5.6, and 2.6.x through 2.6.4 allows code injection if the first argument (aka the "command" argument) to Shell#[] or Shell#test in lib/shell.rb is untrusted data. An attacker can exploit this to call an arbitrary Ruby method.
{ "availability": "No subscription required", "binaries": [ { "binary_name": "libruby2.3", "binary_version": "2.3.1-2~ubuntu16.04.14" }, { "binary_name": "libruby2.3-dbg", "binary_version": "2.3.1-2~ubuntu16.04.14" }, { "binary_name": "libruby2.3-dbgsym", "binary_version": "2.3.1-2~ubuntu16.04.14" }, { "binary_name": "ruby2.3", "binary_version": "2.3.1-2~ubuntu16.04.14" }, { "binary_name": "ruby2.3-dbgsym", "binary_version": "2.3.1-2~ubuntu16.04.14" }, { "binary_name": "ruby2.3-dev", "binary_version": "2.3.1-2~ubuntu16.04.14" }, { "binary_name": "ruby2.3-dev-dbgsym", "binary_version": "2.3.1-2~ubuntu16.04.14" }, { "binary_name": "ruby2.3-doc", "binary_version": "2.3.1-2~ubuntu16.04.14" }, { "binary_name": "ruby2.3-tcltk", "binary_version": "2.3.1-2~ubuntu16.04.14" }, { "binary_name": "ruby2.3-tcltk-dbgsym", "binary_version": "2.3.1-2~ubuntu16.04.14" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "libruby2.5", "binary_version": "2.5.1-1ubuntu1.6" }, { "binary_name": "libruby2.5-dbgsym", "binary_version": "2.5.1-1ubuntu1.6" }, { "binary_name": "ruby2.5", "binary_version": "2.5.1-1ubuntu1.6" }, { "binary_name": "ruby2.5-dbgsym", "binary_version": "2.5.1-1ubuntu1.6" }, { "binary_name": "ruby2.5-dev", "binary_version": "2.5.1-1ubuntu1.6" }, { "binary_name": "ruby2.5-doc", "binary_version": "2.5.1-1ubuntu1.6" } ] }