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