oss-sec mailing list archives

Show In Browser 0.0.3 Ruby Gem /tmp file injection vulnerability


From: "Larry W. Cashdollar" <larry0 () me com>
Date: Fri, 17 May 2013 16:34:41 +0000 (GMT)

TITLE: Show In Browser 0.0.3 Ruby Gem /tmp file injection vulnerability

DATE: 5/15/2023

AUTHOR: Larry W. Cashdollar (@_larry0)

DOWNLOAD: https://rubygems.org/gems/show_in_browser

DESCRIPTION: Opens arbitrary text in your browser

VENDOR: Jonathan Leung

FIX: N/A

CVE: TBD

DETAILS: 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
10 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.

PoC:


nobody@pitter:/$ while (true); do echo "<script> alert('Hello'); </script>" >> /tmp/browser.html; done

Will pop up a java script alert in other gem users browser. 

Current thread: