Craft CMS Vulnerable to Stored XSS in Number Prefix & Suffix Fields
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
allowAdminChangesis enabled in production, which is against our security recommendations.
Steps to Reproduce
- Log in with an admin account
- Navigate to Settings → Fields → New field
- Choose Number as the field type
- 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" />
<img src=x onerror="alert('Number Prefix/Suffix XSS')" hidden>
- Save the field
- Add this field to any element (e.g., User Profile fields via Settings → Users → User Fields)
- Navigate to your account (
/admin/myaccount) or any user profile (/admin/users/{id}) - 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.
Software afectado
Haz clic en una tecnología para ver todas sus vulnerabilidades.
| Plataforma | Paquete | Versiones vulnerables | Corregida en |
|---|---|---|---|
| Paquete de Composer | craftcms/cms | >= 5.0.0-RC1, < 5.8.22, >= 4.0.0-RC1, < 4.16.18 | 5.8.22, 4.16.18 |
Referencias
- https://github.com/craftcms/cms/security/advisories/GHSA-9f5h-mmq6-2x78
- https://nvd.nist.gov/vuln/detail/CVE-2026-25496
- https://github.com/craftcms/cms/commit/cb5fb0e979e72f315c9178fc031883d49527f513
- https://github.com/craftcms/cms
- https://github.com/craftcms/cms/releases/tag/4.16.18
- https://github.com/craftcms/cms/releases/tag/5.8.22
- Vector CVSS
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N- Debilidad (CWE)
CWE-79- Plataforma
- Composer
- Paquete
craftcms/cms- Publicada
- 09.02.2026
- Actualizado
- 11.10.2026 10:22
Fuentes y licencias
OSV / GitHub Advisory Database - GHSA-9f5h-mmq6-2x78 - CC BY 4.0
Historial de vulnerabilidades: craftcms/cms
Todas las vulnerabilidades publicadas de este paquete (Paquete de Composer), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.
- Entradas en total
- 127
- Primera → última
- 07.2021 08.2026
- Sin corrección
- 6
- Explotada en ataques
- 4
Distribución por gravedad
- Crítica 9
- Alta 41
- Media 65
- Baja 12
Divulgaciones por año
- 2021: 3
- 2022: 22
- 2023: 13
- 2024: 9
- 2025: 6
- 2026: 74
-
Craft CMS Vulnerable to Stored XSS in Number Prefix & Suffix Fields esta entrada
Identifica las vulnerabilidades de tu aplicación
Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.