CVE-2026-25496
mediumpriority · track · 19EPSS 0.004 · 36 %ileEUUSEPSS · scored 2026-10-27
Craft is a platform for creating digital experiences. In Craft versions 4.0.0-RC1 through 4.16.17 and 5.0.0-RC1 through 5.8.21, a stored XSS vulnerability exists in the Number field type settings. The Prefix and Suffix fields are rendered using the |md|raw Twig filter without proper escaping, allowing script execution when the Number field is displayed on users' profiles. This issue is patched in versions 4.16.18 and 5.8.22.
cvss
Technical severity, 0–10. One row per scoring source.
base score 0–10 · higher = more severe · hover a vector to decode⚠ sources disagree · low–medium · 1.1–4.8
ssvc
A stakeholder decision — act, attend, or track — from exploitation and impact.
weaknesses
The CWE weakness classes this flaw belongs to.
affected products (10)
Products and version ranges known to be affected.
advisories (1)
Vendor and ecosystem advisories describing this.
- GHSA-9f5h-mmq6-2x78Craft CMS Vulnerable to Stored XSS in Number Prefix & Suffix Fields2026-02-09ghsa · osvUS
## Summary A stored XSS vulnerability exists in the Number field type settings. The Prefix and Suffix fields are rendered using the `|md|raw` Twig filter without proper escaping, allowing script execution when the Number field is displayed on users' profiles. ## Proof of Concept ### Required Permissions - Administrator access - `allowAdminChanges` is enabled in production, which is against our [security recommendations](https://craftcms.com/knowledge-base/securing-craft). ### Steps to Reproduce 1. Log in with an admin account 2. Navigate to **Settings** → **Fields** → **New field** 3. Choose **Number** as the field type 4. Set the **Prefix/Suffix Text** field to: <img width="611" height="908" alt="image" src="https://github.com/user-attachments/assets/63766ca4-4fa9-490b-8bea-37364137527d" /> ```html <img src=x onerror="alert('Number Prefix/Suffix XSS')" hidden> ``` 5. Save the field 6. Add this field to any element (e.g., User Profile fields via **Settings** → **Users** → **User Fields**) 7. Navigate to your account (`/admin/myaccount`) or any user profile (`/admin/users/{id}`) 8. XSS executes when viewing the form <img width="1246" height="677" alt="image-1" src="https://github.com/user-attachments/assets/dafeb2b7-905f-4a4b-b3d6-1c16a905498f" /> ## Mitigation Sanitize prefix/suffix before rendering or use `|e` filter instead of `|raw`.
also known as (3)
Other names and identifiers for this entity.
sources
Which sources assert this record, and when.
references (10)
External citations — patches, advisories, analysis.
- https://github.com/craftcms/cms/commit/cb5fb0e979e72f315c9178fc031883d49527f513cnnvd
- https://github.com/craftcms/cms/releasesPatchcnnvd
- https://github.com/craftcms/cms/releases/tag/5.8.22cnnvd
- https://github.com/craftcms/cms/security/advisories/GHSA-9f5h-mmq6-2x78cnnvd
- https://github.com/craftcms/cms/commit/cb5fb0e979e72f315c9178fc031883d49527f513enisa_euvd
- https://github.com/craftcms/cms/releases/tag/5.8.22enisa_euvd
- https://github.com/craftcms/cms/security/advisories/GHSA-9f5h-mmq6-2x78enisa_euvd
- https://github.com/craftcms/cms/commit/cb5fb0e979e72f315c9178fc031883d49527f513Patchnvd
Attackers weaponise vulnerabilities like this against internet-exposed services. See what is exposed on your perimeter with a free passive scan.
Free scan