Statmic CMS vulnerable to account takeover via XSS and password reset link
Published 1 Feb 2024 · Updated 10 Sept 2026
Affected packages
- Affected
- >=4.00 <4.46.0
- Fixed in
- 4.46.0
composer require statamic/cms:^4.46.0- Affected
- <3.4.17
- Fixed in
- 3.4.17
composer require statamic/cms:^3.4.17Details
Impact
HTML files crafted to look like jpg files are able to be uploaded, allowing for XSS.
This affects:
- front-end forms with asset fields without any mime type validation
- asset fields in the control panel
- asset browser in the control panel
Additionally, if the XSS is crafted in a specific way, the "copy password reset link" feature may be exploited to gain access to a user's password reset token and gain access to their account. The authorized user is required to execute the XSS in order for the vulnerability to occur.
Patches
In versions 4.46.0 and 3.4.17, the XSS vulnerability has been patched, and the copy password reset link functionality has been disabled. (Users may still trigger password reset emails.)
Credits
Statamic thanks Niklas Schilling (discovery, analysis, coordination) from the SEC Consult Vulnerability Lab (https://www.sec-consult.com/) for responsibly reporting the identified issues and working with us as we addressed them.
Is GHSA-vqxq-hvxw-9mv9 in any of your client repos?
Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected statamic/cms, and gives you the command that fixes it.
References
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.