Ruby before 2.4.3 allows Net::FTP command injection. Net::FTP#get, getbinaryfile, gettextfile, put, putbinaryfile, and puttextfile use Kernel#open to open a local file. If the localfile argument starts with the "|" pipe character, the command following the pipe character is executed. The default value of localfile is File.basename(remotefile), so malicious FTP servers could cause arbitrary command execution.
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "ri1.9.1": "1.9.3.484-2ubuntu1.6", "ruby1.9.1-dbgsym": "1.9.3.484-2ubuntu1.6", "libruby1.9.1-dbg": "1.9.3.484-2ubuntu1.6", "libtcltk-ruby1.9.1-dbgsym": "1.9.3.484-2ubuntu1.6", "libtcltk-ruby1.9.1": "1.9.3.484-2ubuntu1.6", "libruby1.9.1": "1.9.3.484-2ubuntu1.6", "ruby1.9.1-dev-dbgsym": "1.9.3.484-2ubuntu1.6", "libruby1.9.1-dbgsym": "1.9.3.484-2ubuntu1.6", "ruby1.9.1-dev": "1.9.3.484-2ubuntu1.6", "ruby1.9.3": "1.9.3.484-2ubuntu1.6", "ruby1.9.1-full": "1.9.3.484-2ubuntu1.6", "ruby1.9.1-examples": "1.9.3.484-2ubuntu1.6", "ruby1.9.1": "1.9.3.484-2ubuntu1.6" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "libruby2.0-dbgsym": "2.0.0.484-1ubuntu2.5", "libruby2.0": "2.0.0.484-1ubuntu2.5", "ruby2.0-tcltk-dbgsym": "2.0.0.484-1ubuntu2.5", "ruby2.0-doc": "2.0.0.484-1ubuntu2.5", "ruby2.0-dev": "2.0.0.484-1ubuntu2.5", "ruby2.0-dbgsym": "2.0.0.484-1ubuntu2.5", "ruby2.0-tcltk": "2.0.0.484-1ubuntu2.5", "ruby2.0": "2.0.0.484-1ubuntu2.5" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "libruby2.3-dbgsym": "2.3.1-2~16.04.4", "ruby2.3-tcltk": "2.3.1-2~16.04.4", "ruby2.3-dev-dbgsym": "2.3.1-2~16.04.4", "libruby2.3-dbg": "2.3.1-2~16.04.4", "ruby2.3-dev": "2.3.1-2~16.04.4", "ruby2.3-dbgsym": "2.3.1-2~16.04.4", "libruby2.3": "2.3.1-2~16.04.4", "ruby2.3-tcltk-dbgsym": "2.3.1-2~16.04.4", "ruby2.3": "2.3.1-2~16.04.4", "ruby2.3-doc": "2.3.1-2~16.04.4" } ] }