lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 12 Mar 2014 08:38:30 -0400 From: "Larry W. Cashdollar" <larry0@...com> To: full <full-disclosure@...ts.grok.org.uk> Cc: bugtraq@...urityfocus.com Subject: Remote Command Injection in Arabic Prawn 0.0.1 Ruby Gem Title: Remote Command Injection in Arabic Prawn 0.0.1 Ruby Gem Author: Larry W. Cashdollar, @_larry0 Download Site: http://rubygems.org/gems/Arabic-Prawn CVE: 2014-2322 Date: 12/17/2013 In Arabic-Prawn-0.0.1/lib/string_utf_support.rb, the following lines pass unsanitized input to the shell. 426 var = %x{ /usr/bin/curl -I -L --fail --silent --connect-timeout #{seconds} --max-time #{seconds+10} #{url}; /bin/echo -n $? }.to_i 427 428 #return false unless var == 0 429 raise "Failed to create connection to web site: #{url} -- curl error code: #{var} -- " unless var == 0 430 431 str = %x{ /usr/bin/curl -L --fail --silent --connect-timeout #{seconds} --max-time #{seconds+10} #{url} | \ 432 /usr/bin/grep -Eo -m 1 \"(charset|encoding)=[\\"']?[^\\"'>]+\" | /usr/bin/grep -Eo \"[^=\\" '>]+$\" } 443 %x{ /usr/bin/touch #{downloaded_file} 2>/dev/null } 444 raise "No valid HTML download file (path) specified!" unless File.file?(downloaded_file) 445 %x{ /usr/bin/curl -L --fail --silent --connect-timeout #{seconds} --max-time #{seconds+10} -o #{downloaded_file} #{url} } 446 447 simple_test = %x{ /usr/bin/file -ik #{downloaded_file} } # cf. man file If the downloaded file name #{downloaded_file} or #{url} contains any shell meta characters like ';' a malicious user can inject shell commands. PoC myfile;id;.txt id would be passed to the command line and executed. Advisory: http://www.vapid.dhs.org/advisories/arabic-ruby-gem.html _______________________________________________ Full-Disclosure - We believe in it. Charter: http://lists.grok.org.uk/full-disclosure-charter.html Hosted and sponsored by Secunia - http://secunia.com/
Powered by blists - more mailing lists