VDB-ID: 27 Title: Command Injection for for Ruby Gem cap-strap-0.1.5 Vulnerability Date: 2014-06-01 Download: http://rubygems.org/gems/cap-strap Vendor: Shaun Dern Notified: 2014-06-25 Vendor Contact: aaronjensen@gmail.com Description: Bootstrap a machine. Install packages, create a deploy user, upload authorized keys and deploy key. Uses RVM to install desired rubies, with patch support. Vulnerability: From: ./cap-strap-0.1.5/lib/cap-strap/helpers.rb User supplied input isn't properly sanitized for #{user} and #{password} This can lead to command injection if this gem is used in the context of a rails application. Secondly the password is exposed to the process table listing. The password crypt hash is also going to have the same 'sa' salt every time. 022-def create_user(user, password) 23- unless user_exists?(user) 24- command = "useradd -s /bin/bash -d /home/{user}" 25: command << " -p `perl -e print crypt({password}, salt)`" unless password.empty? 26- command << " -m {user}" 27- run "{sudo} #{command}" 28- end CVE-IDs: Exploit: URL: http://www.vapid.dhs.org/advisories/cap-strap-0.1.5.html Credit: Larry W. Cashdollar, @_larry0