LowGHSA-7pr4-wx9w-mqwrCVE-2026-25491
Craft CMS Vulnerable to Stored XSS in Entry Types Name
Published 9 Feb 2026 · Updated 9 Feb 2026
Affected package
craftcms/cmsComposer
- Affected
- >=5.0.0-RC1 <5.8.22
- Fixed in
- 5.8.22
Update to the fixed version for your release line, for example:
composer require craftcms/cms:^5.8.22Details
Summary
Stored XSS via Entry Type names. The name is not sanitized when displayed in the Entry Types list.
---
Proof of Concept
Required Permissions (Attacker)
- Admin access (only admins have access to the settings page)
allowAdminChangesis enabled in production, which is against our security recommendations.
Steps to Reproduce
1. Log in as an attacker.
2. Go to Settings -> Entry Types (/admin/settings/entry-types).
3. Create a new Entry Type.
4. Set Name to:
<img src=x onerror="alert('XSS-EntryTypes')" hidden>5. Save the Entry Type, and you’ll be redirected back to the entry types table automatically. 6. Notice the alert fires when the entry types table renders.
Is GHSA-7pr4-wx9w-mqwr 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 craftcms/cms, and gives you the command that fixes it.
References
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.