Description
Versions of the package spatie/browsershot before 5.0.5 are vulnerable to Improper Input Validation in the setHtml function, invoked by Browsershot::html(), which can be bypassed by omitting the slashes in the file URI (e.g., file:../../../../etc/passwd). This is due to missing validations of the user input that should be blocking file URI schemes (e.g., file:// and file:/) in the HTML content.
**Note:** Further analysis has identified additional proof-of-concept exploits leveraging the vulnerable function. Developers using this package should ensure proper input validation to mitigate potential risks, as the issue remains unaddressed.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| — | spatie/browsershot | < 5.0.5 | 5.0.5 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Packagist | spatie/browsershot | < 5.0.5 | 5.0.5 | GHSA-j2gw-r24m-j2qw |
References
- https://security.snyk.io/vuln/SNYK-PHP-SPATIEBROWSERSHOT-8496747
- https://github.com/spatie/browsershot/commit/bcfd608b264fab654bf78e199bdfbb03e9323eb7
- https://github.com/spatie/browsershot/commit/e3273974506865a24fbb5b65b534d8d4b8dfbf72
- https://gist.github.com/mrdgef/a820837c530e09e1dd725e013e0d4341