Ruby Gem Sprout 0.7.246 Command Injection

2013.12.03
Risk: High
Local: No
Remote: Yes
CWE: CWE-78


CVSS Base Score: 7.5/10
Impact Subscore: 6.4/10
Exploitability Subscore: 10/10
Exploit range: Remote
Attack complexity: Low
Authentication: No required
Confidentiality impact: Partial
Integrity impact: Partial
Availability impact: Partial

Title: Command injection vulnerability in Ruby Gem sprout 0.7.246 Download: http://rubygems.org/gems/sprout, http://projectsprouts.org/ Vulnerability: The unpack_zip() function contains the following code: sprout-0.7.246/lib/sprout/archive_unpacker.rb 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. PoC: For example: filename;id;.zip I contacted the developer a few weeks ago but received no response. Thanks! Larry W. Cashdollar @_larry0

References:

http://rubygems.org/gems/sprout


Vote for this issue:
50%
50%


 

Thanks for you vote!


 

Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.


(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2024, cxsecurity.com

 

Back to Top