Skip to main content
← All vulnerabilities
CVE-2026-27128GHSA-6FX5-5CW5-4897

Craft CMS's race condition in Token Service potentially allows for token usage greater than the token limit

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 4.16.19, 5.8.23
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • craftcms cms

    From 4.5.0-RC1 · fixed in 4.16.19; From 5.0.0-RC1 · fixed in 5.8.23

  • craftcms/cmsPackagist

    From 4.5.0-RC1 · fixed in 4.16.19

  • craftcms/cmsPackagist

    From 5.0.0-RC1 · fixed in 5.8.23

References 2

GitHub · craftcms/cms