Vulnerability Details CVE-2026-81921
Concrete CMS 8.5.3 through 9.5.2 enabled the OAuth 2.0 refresh-token grant using the unmodified upstream League grant, which issued new access tokens from a valid refresh token without re-checking the associated account's active status. A user who obtained a refresh token while active could therefore continue to mint valid access tokens after being deactivated or suspended (uIsActive=0), so deactivating an account did not revoke its API access. The Concrete CMS security team gave this vulnerability a CVSS v4.0 score of 2.3 with vector CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:L/VA:L/SC:L/SI:L/SA:L. Thanks sh4d0byss for reporting.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.001
EPSS Ranking 3.5%
CVSS Severity
CVSS v3 Score 5.4
Products affected by CVE-2026-81921
-
cpe:2.3:a:concretecms:concrete_cms:8.5.10
-
cpe:2.3:a:concretecms:concrete_cms:8.5.11
-
cpe:2.3:a:concretecms:concrete_cms:8.5.12
-
cpe:2.3:a:concretecms:concrete_cms:8.5.13
-
cpe:2.3:a:concretecms:concrete_cms:8.5.14
-
cpe:2.3:a:concretecms:concrete_cms:8.5.15
-
cpe:2.3:a:concretecms:concrete_cms:8.5.16
-
cpe:2.3:a:concretecms:concrete_cms:8.5.17
-
cpe:2.3:a:concretecms:concrete_cms:8.5.18
-
cpe:2.3:a:concretecms:concrete_cms:8.5.19
-
cpe:2.3:a:concretecms:concrete_cms:8.5.20
-
cpe:2.3:a:concretecms:concrete_cms:8.5.21
-
cpe:2.3:a:concretecms:concrete_cms:8.5.3
-
cpe:2.3:a:concretecms:concrete_cms:8.5.4
-
cpe:2.3:a:concretecms:concrete_cms:8.5.5
-
cpe:2.3:a:concretecms:concrete_cms:8.5.6
-
cpe:2.3:a:concretecms:concrete_cms:8.5.7
-
cpe:2.3:a:concretecms:concrete_cms:8.5.8
-
cpe:2.3:a:concretecms:concrete_cms:8.5.9
-
cpe:2.3:a:concretecms:concrete_cms:9.0
-
cpe:2.3:a:concretecms:concrete_cms:9.0.0
-
cpe:2.3:a:concretecms:concrete_cms:9.0.1
-
cpe:2.3:a:concretecms:concrete_cms:9.0.2
-
cpe:2.3:a:concretecms:concrete_cms:9.1.0
-
cpe:2.3:a:concretecms:concrete_cms:9.1.1
-
cpe:2.3:a:concretecms:concrete_cms:9.1.2
-
cpe:2.3:a:concretecms:concrete_cms:9.1.3
-
cpe:2.3:a:concretecms:concrete_cms:9.2.0
-
cpe:2.3:a:concretecms:concrete_cms:9.2.1
-
cpe:2.3:a:concretecms:concrete_cms:9.2.2
-
cpe:2.3:a:concretecms:concrete_cms:9.2.3
-
cpe:2.3:a:concretecms:concrete_cms:9.2.4
-
cpe:2.3:a:concretecms:concrete_cms:9.2.5
-
cpe:2.3:a:concretecms:concrete_cms:9.2.6
-
cpe:2.3:a:concretecms:concrete_cms:9.2.7
-
cpe:2.3:a:concretecms:concrete_cms:9.2.8
-
cpe:2.3:a:concretecms:concrete_cms:9.2.9
-
cpe:2.3:a:concretecms:concrete_cms:9.3.0
-
cpe:2.3:a:concretecms:concrete_cms:9.3.1
-
cpe:2.3:a:concretecms:concrete_cms:9.3.2
-
cpe:2.3:a:concretecms:concrete_cms:9.3.3
-
cpe:2.3:a:concretecms:concrete_cms:9.3.4
-
cpe:2.3:a:concretecms:concrete_cms:9.3.5
-
cpe:2.3:a:concretecms:concrete_cms:9.3.6
-
cpe:2.3:a:concretecms:concrete_cms:9.3.7
-
cpe:2.3:a:concretecms:concrete_cms:9.3.8
-
cpe:2.3:a:concretecms:concrete_cms:9.3.9
-
cpe:2.3:a:concretecms:concrete_cms:9.4.0
-
cpe:2.3:a:concretecms:concrete_cms:9.4.1
-
cpe:2.3:a:concretecms:concrete_cms:9.4.2
-
cpe:2.3:a:concretecms:concrete_cms:9.4.3
-
cpe:2.3:a:concretecms:concrete_cms:9.4.4
-
cpe:2.3:a:concretecms:concrete_cms:9.4.5
-
cpe:2.3:a:concretecms:concrete_cms:9.4.6
-
cpe:2.3:a:concretecms:concrete_cms:9.4.7
-
cpe:2.3:a:concretecms:concrete_cms:9.4.8
-
cpe:2.3:a:concretecms:concrete_cms:9.5.0
-
cpe:2.3:a:concretecms:concrete_cms:9.5.1
-
cpe:2.3:a:concretecms:concrete_cms:9.5.2