TITLE: Remote Command Injection in fog-dragonfly-0.8.2 Ruby Gem

Credit: Larry W. Cashdollar, @_larry0

Date: 8/16/2013

CVE: 2013-5671

Download: https://rubygems.org/gems/fog-dragonfly

Description:

"Dragonfly is an on-the-fly Rack-based image handling framework. It is suitable for use with Rails, Sinatra and other web frameworks. Although it's mainly used for images, it can handle any content type."

Unescaped user supplied input is passed to the command line for shell execution:

from fog-dragonfly-0.8.2/lib/dragonfly/imagemagickutils.rb:

20     def convert(tempobject, args='', format=nil)
 21       tempfile = newtempfile(format)
 22       run "#{convertcommand} #{args} #{tempobject.path} #{tempfile.path}"
 23       tempfile
 24     end
.
.
.

61     def run(command)
 62       log.debug("Running command: #{command}") if ImageMagickUtils.log_commands
 63       begin
 64         result = #{command}

Vendor Notified: 8/16/2013