CVE-2026-27128

Craft is a content management system (CMS). In versions 4.5.0-RC1 through 4.16.18 and 5.0.0-RC1 through 5.8.22, a Time-of-Check-Time-of-Use (TOCTOU) race condition exists in Craft CMS’s token validation service for tokens that explicitly set a limited usage. The `getTokenRoute()` method reads a token’s usage count, checks if it’s within limits, then updates the database in separate non-atomic operations. By sending concurrent requests, an attacker can use a single-use impersonation token multiple times before the database update completes. To make this work, an attacker needs to obtain a valid user account impersonation URL with a non-expired token via some other means and exploit a race condition while bypassing any rate-limiting rules in place. For this to be a privilege escalation, the impersonation URL must include a token for a user account with more permissions than the current user. Versions 4.16.19 and 5.8.23 patch the issue.
Configurations

Configuration 1 (hide)

OR cpe:2.3:a:craftcms:craft_cms:*:*:*:*:*:*:*:*
cpe:2.3:a:craftcms:craft_cms:*:*:*:*:*:*:*:*
cpe:2.3:a:craftcms:craft_cms:4.5.0:-:*:*:*:*:*:*
cpe:2.3:a:craftcms:craft_cms:4.5.0:rc1:*:*:*:*:*:*
cpe:2.3:a:craftcms:craft_cms:5.0.0:-:*:*:*:*:*:*
cpe:2.3:a:craftcms:craft_cms:5.0.0:rc1:*:*:*:*:*:*

History

27 Feb 2026, 20:06

Type Values Removed Values Added
CPE cpe:2.3:a:craftcms:craft_cms:*:*:*:*:*:*:*:*
cpe:2.3:a:craftcms:craft_cms:4.5.0:rc1:*:*:*:*:*:*
cpe:2.3:a:craftcms:craft_cms:5.0.0:rc1:*:*:*:*:*:*
cpe:2.3:a:craftcms:craft_cms:5.0.0:-:*:*:*:*:*:*
cpe:2.3:a:craftcms:craft_cms:4.5.0:-:*:*:*:*:*:*
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 4.8
Summary
  • (es) Craft es un sistema de gestión de contenidos (CMS). En las versiones 4.5.0-RC1 a 4.16.18 y 5.0.0-RC1 a 5.8.22, existe una condición de carrera Time-of-Check-Time-of-Use (TOCTOU) en el servicio de validación de tokens de Craft CMS para tokens que establecen explícitamente un uso limitado. El método `getTokenRoute()` lee el recuento de uso de un token, verifica si está dentro de los límites y luego actualiza la base de datos en operaciones no atómicas separadas. Al enviar solicitudes concurrentes, un atacante puede usar un token de suplantación de un solo uso varias veces antes de que se complete la actualización de la base de datos. Para que esto funcione, un atacante necesita obtener una URL de suplantación de cuenta de usuario válida con un token no caducado por otros medios y explotar una condición de carrera mientras elude cualquier regla de limitación de velocidad existente. Para que esto sea una escalada de privilegios, la URL de suplantación debe incluir un token para una cuenta de usuario con más permisos que el usuario actual. Las versiones 4.16.19 y 5.8.23 aplican un parche al problema.
References () https://github.com/craftcms/cms/commit/3e4afe18279951c024c64896aa2b93cda6d95fdf - () https://github.com/craftcms/cms/commit/3e4afe18279951c024c64896aa2b93cda6d95fdf - Patch
References () https://github.com/craftcms/cms/security/advisories/GHSA-6fx5-5cw5-4897 - () https://github.com/craftcms/cms/security/advisories/GHSA-6fx5-5cw5-4897 - Third Party Advisory
First Time Craftcms
Craftcms craft Cms

24 Feb 2026, 03:16

Type Values Removed Values Added
New CVE

Information

Published : 2026-02-24 03:16

Updated : 2026-02-27 20:06


NVD link : CVE-2026-27128

Mitre link : CVE-2026-27128

CVE.ORG link : CVE-2026-27128


JSON object : View

Products Affected

craftcms

  • craft_cms
CWE
CWE-367

Time-of-check Time-of-use (TOCTOU) Race Condition