high7.5
CVE-2019-17221
PhantomJS Arbitrary File Read
Impact
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.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | phantomjs | <= 2.1.1 | none recorded |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Phantomjs | Phantomjs | through 2.1.1 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://www.darkmatter.ae/blogs/breaching-the-perimeter-phantomjs-arbitrary-file-read/
- https://github.com/advisories/GHSA-x43g-gj9x-838x
- https://nvd.nist.gov/vuln/detail/CVE-2019-17221
- https://web.archive.org/web/20191220171022/https://www.darkmatter.ae/blogs/breaching-the-perimeter-phantomjs-arbitrary-file-read/