PhantomJS through 2.1.1 has an arbitrary file read vulnerability, as demonstrated by an XMLHttpRequest for a file://
URI. The vulnerability exists in the page.open()
function of the webpage module, which loads a specified URL and calls a given callback. An attacker can supply a specially crafted HTML file, as user input, that allows reading arbitrary files on the filesystem. For example, if page.render()
is the function callback, this generates a PDF or an image of the targeted file. NOTE: this product is no longer developed.