Craft CMS's race condition in Token Service potentially allows for token usage greater than the token limit
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| craftcms | cms | affected |
|
Configuration 1 [-]
|
No data.
| Vendor | Product | Versions | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Craftcms | Craftcms |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-6fx5-5cw5-4897 | Craft CMS Race condition in Token Service potentially allows for token usage greater than the token limit |
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.196% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Craftcms craft Cms
|
|
| CPEs | 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:*:*:*:*:*:* |
|
| Vendors & Products |
Craftcms craft Cms
|
|
| Metrics |
cvssV3_1
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Craftcms
Craftcms craftcms |
|
| Vendors & Products |
Craftcms
Craftcms craftcms |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | 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. | |
| Title | Craft CMS's race condition in Token Service potentially allows for token usage greater than the token limit | |
| Weaknesses | CWE-367 | |
| References |
| |
| Metrics |
cvssV4_0
|