Title: Command Injection for for Ruby Gem cap-strap-0.1.5 |
Author: Larry W. Cashdollar, @_larry0 |
Date: 2014-06-01 |
CVE-ID:[CVE-none] |
CWE: |
Download Site: http://rubygems.org/gems/cap-strap |
Vendor: Shaun Dern |
Vendor Notified: 2014-06-25 |
Vendor Contact: aaronjensen@gmail.com |
Advisory: http://www.vapid.dhs.org/advisories/cap-strap-0.1.5.html |
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 |
Export: JSON TEXT XML |
Exploit Code: |
Screen Shots: |
Notes: 108575 |
Larry W. Cashdollar
Larry Cashdollar
Larry W. Cashdollar vulnerability
Larry Cashdollar advisory