{"url":"http://public2.vulnerablecode.io/api/vulnerabilities/50299?format=json","vulnerability_id":"VCID-a3b5-pwyh-yugv","summary":"Craft CMS Race condition in Token Service potentially allows for token usage greater than the token limit\nA 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.\n\nTo 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.\n\nFor this to be a privilege escalation, the impersonation URL must include a token for a user account with more permissions than the current user.","aliases":[{"alias":"CVE-2026-27128"},{"alias":"GHSA-6fx5-5cw5-4897"}],"fixed_packages":[{"url":"http://public2.vulnerablecode.io/api/packages/74189?format=json","purl":"pkg:composer/craftcms/cms@4.16.19","is_vulnerable":false,"affected_by_vulnerabilities":[],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:composer/craftcms/cms@4.16.19"},{"url":"http://public2.vulnerablecode.io/api/packages/74188?format=json","purl":"pkg:composer/craftcms/cms@5.8.23","is_vulnerable":false,"affected_by_vulnerabilities":[],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:composer/craftcms/cms@5.8.23"}],"affected_packages":[{"url":"http://public2.vulnerablecode.io/api/packages/74190?format=json","purl":"pkg:composer/craftcms/cms@4.5.0-RC1","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-39ct-cg7w-kyb6"},{"vulnerability":"VCID-a3b5-pwyh-yugv"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:composer/craftcms/cms@4.5.0-RC1"},{"url":"http://public2.vulnerablecode.io/api/packages/73168?format=json","purl":"pkg:composer/craftcms/cms@5.0.0-RC1","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-1468-4fdx-kbfr"},{"vulnerability":"VCID-1mb5-28xp-ckd2"},{"vulnerability":"VCID-39ct-cg7w-kyb6"},{"vulnerability":"VCID-4wkr-jx1w-77hn"},{"vulnerability":"VCID-5mnd-qvaq-k3am"},{"vulnerability":"VCID-5q5g-jrxm-eyhe"},{"vulnerability":"VCID-7y4f-ef7t-47eb"},{"vulnerability":"VCID-8u2j-17a4-q7eh"},{"vulnerability":"VCID-9enr-b6zd-mbh8"},{"vulnerability":"VCID-a3b5-pwyh-yugv"},{"vulnerability":"VCID-akrv-yqnf-1kg8"},{"vulnerability":"VCID-azr5-12f8-hfbm"},{"vulnerability":"VCID-cys8-jnmu-77ec"},{"vulnerability":"VCID-esma-wxje-eqh3"},{"vulnerability":"VCID-fpea-e48p-kfbn"},{"vulnerability":"VCID-hkp9-3hzv-quhk"},{"vulnerability":"VCID-hyct-5gap-7kdu"},{"vulnerability":"VCID-jeyh-3jxd-z3g6"},{"vulnerability":"VCID-jxz8-g6fq-dubw"},{"vulnerability":"VCID-kbrc-85av-nfcn"},{"vulnerability":"VCID-m5rf-usae-yfb7"},{"vulnerability":"VCID-pgm4-svq8-tfc5"},{"vulnerability":"VCID-ppet-ruae-1kav"},{"vulnerability":"VCID-qywv-vf4r-8bh9"},{"vulnerability":"VCID-rb7c-3nkc-gkeg"},{"vulnerability":"VCID-twuy-wzb7-k7g3"},{"vulnerability":"VCID-vasz-rnn1-67ev"},{"vulnerability":"VCID-vvhc-rnpr-ubey"},{"vulnerability":"VCID-w9yn-1573-hyau"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:composer/craftcms/cms@5.0.0-RC1"}],"references":[{"reference_url":"https://github.com/craftcms/cms","reference_id":"","reference_type":"","scores":[],"url":"https://github.com/craftcms/cms"},{"reference_url":"https://github.com/craftcms/cms/commit/3e4afe18279951c024c64896aa2b93cda6d95fdf","reference_id":"","reference_type":"","scores":[],"url":"https://github.com/craftcms/cms/commit/3e4afe18279951c024c64896aa2b93cda6d95fdf"},{"reference_url":"https://nvd.nist.gov/vuln/detail/CVE-2026-27128","reference_id":"CVE-2026-27128","reference_type":"","scores":[],"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-27128"},{"reference_url":"https://github.com/advisories/GHSA-6fx5-5cw5-4897","reference_id":"GHSA-6fx5-5cw5-4897","reference_type":"","scores":[],"url":"https://github.com/advisories/GHSA-6fx5-5cw5-4897"},{"reference_url":"https://github.com/craftcms/cms/security/advisories/GHSA-6fx5-5cw5-4897","reference_id":"GHSA-6fx5-5cw5-4897","reference_type":"","scores":[],"url":"https://github.com/craftcms/cms/security/advisories/GHSA-6fx5-5cw5-4897"}],"weaknesses":[{"cwe_id":367,"name":"Time-of-check Time-of-use (TOCTOU) Race Condition","description":"The product checks the state of a resource before using that resource, but the resource's state can change between the check and the use in a way that invalidates the results of the check. This can cause the product to perform invalid actions when the resource is in an unexpected state."},{"cwe_id":937,"name":"OWASP Top Ten 2013 Category A9 - Using Components with Known Vulnerabilities","description":"Weaknesses in this category are related to the A9 category in the OWASP Top Ten 2013."},{"cwe_id":1035,"name":"OWASP Top Ten 2017 Category A9 - Using Components with Known Vulnerabilities","description":"Weaknesses in this category are related to the A9 category in the OWASP Top Ten 2017."}],"exploits":[],"severity_range_score":null,"exploitability":null,"weighted_severity":null,"risk_score":null,"resource_url":"http://public2.vulnerablecode.io/vulnerabilities/VCID-a3b5-pwyh-yugv"}