CVE-2025-1022
Browsershot Path Traversal
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used 8.8
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.
- Record
CVE-2025-1022- CVSS 4.0
- 8.8 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N/E:P - CVSS 3.1
- 8.2 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N/E:P - Weakness
- CWE-20
- Updated
- 2026-11-02
EUVDEUVD-2025-0240 8.8
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.
- Record
EUVD-2025-0240- CVSS 4.0
- 8.8 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N/E:P - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-j2gw-r24m-j2qw 7.8
Browsershot Path Traversal
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.
- Record
GHSA-j2gw-r24m-j2qw- CVSS 4.0
- 7.8 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 8.2 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N - Weakness
- CWE-20, CWE-22
- Updated
- 2026-11-02
NVD 7.8
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.
- Record
CVE-2025-1022- CVSS 4.0
- 7.8 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 8.2 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N - Weakness
- CWE-20
- Updated
- 2026-11-02
OSV 7.8
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.
- Record
CVE-2025-1022- CVSS 4.0
- 7.8 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N/E:P - Weakness
- CWE-20
- Updated
- 2026-11-02
OSVGHSA-j2gw-r24m-j2qw 7.8
Browsershot Path Traversal
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.
- Record
GHSA-j2gw-r24m-j2qw- CVSS 4.0
- 7.8 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 8.2 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N - Weakness
- CWE-20, CWE-22
- Updated
- 2026-11-02
OSVCLSA-2026-1768956702No score
TuxCare security update for spatie/browsershot (5 CVEs)
TuxCare rebuilt spatie/browsershot to address 5 CVEs. Fixed in 3.61.0-p1+tuxcare.
- Record
CLSA-2026-1768956702- Updated
- 2026-11-02
OSVCLSA-2026-1777509609No score
TuxCare security update for spatie/browsershot (5 CVEs)
TuxCare rebuilt spatie/browsershot to address 5 CVEs. Fixed in 4.4.0-p2+tuxcare.
- Record
CLSA-2026-1777509609- Updated
- 2026-11-02
Affected packages
| Package | Affected | Fixed |
|---|---|---|
spatie/browsershotPackagist | before 5.0.5 | 5.0.5 |
spatie/browsershotTuxCare:Packagist From an advisory covering 5 CVEs | 3.61.0 up to 3.61.0-p1+tuxcare | 3.61.0-p1+tuxcare |
spatie/browsershotTuxCare:Packagist From an advisory covering 5 CVEs | 4.4.0 up to 4.4.0-p2+tuxcare, plus listed versions 4.4.0-p1+tuxcare | 4.4.0-p2+tuxcare |
spatie/browsershotPackagist | before 5.0.5, plus listed versions 0.1.00.1.10.1.20.1.31.0.0 Show 45 moreShow less1.1.01.2.01.2.11.2.21.2.31.2.41.3.01.4.01.5.01.5.11.5.21.5.31.5.41.6.01.7.01.8.01.9.01.9.12.0.02.0.12.0.22.0.32.1.02.2.02.3.02.4.02.4.12.4.23.0.03.1.03.10.03.11.03.11.13.12.03.13.03.14.03.14.13.15.03.16.03.16.13.17.03.18.03.19.03.2.03.2.1 | 5.0.5 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2025-1022 is a high vulnerability (CVSS 8.8) in spatie/browsershot, published February 5, 2025. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.47%, the 41st percentile. Fixed in spatie/browsershot 5.0.5.
References
security.snyk.io/vuln/SNYK-PHP-SPATIEBROWSERSHOT-8496747
github.com/spatie/browsershot/commit/bcfd608b264fab654bf78e199bdfbb03e9323eb7
github.com/spatie/browsershot/commit/e3273974506865a24fbb5b65b534d8d4b8dfbf72
gist.github.com/mrdgef/a820837c530e09e1dd725e013e0d4341
nvd.nist.gov/vuln/detail/CVE-2025-1022
github.com/advisories/GHSA-j2gw-r24m-j2qw
github.com/CVEProject/cvelistV5/tree/main/cves/2025/1xxx/CVE-2025-1022.json
github.com/spatie/browsershot
Left out here: 107 versions. The JSON record has them.