Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
Command injection vulnerability in Ruby Gem sprout 0.7.246

From: Larry W. Cashdollar (larry0me.com)
Date: Sat Dec 14 2013 - 19:13:11 CST

Title: Command injection vulnerability in Ruby Gem sprout 0.7.246

Date: 11/14/2013

Download: http://rubygems.org/gems/sprout, http://projectsprouts.org/


The unpack_zip() function contains the following code:


60 zip_dir = File.expand_path(File.dirname(zip_file))
61 zip_name = File.basename(zip_file)
62 output = File.expand_path(dir)
63 # puts ">> zip_dir: #{zip_dir} zip_name: #{zip_name} output: #{output} "
64 %x(cd #{zip_dir};unzip #{zip_name} -d #{output})

If the attacker can control zip_dir, zip_name or output then they can possibly
execute shell commands by injecting shell meta characters as input.


For example: filename;id;.zip

I contacted the developer a few weeks ago but received no response.

Larry W. Cashdollar