CVE-2026-85387 PUBLISHED

Concrete CMS before 9.5.4 allows a deactivated user to retain OAuth-authenticated REST API access

Assigner: ConcreteCMS
Reserved: 03.09.2026 Published: 16.09.2026 Updated: 16.09.2026

Concrete CMS before 9.5.4 re-authorized OAuth REST API requests from the bearer token alone and did not re-check the state of the account the token had been issued to. The resource server's authorization validator confirmed only that a token existed, had not expired, and had not been explicitly revoked, and deactivating a user did not revoke that user's outstanding tokens. As a result, a deactivated user retained full access to /ccm/api/1.0/* for the remaining lifetime of any token already issued to them. The same gap applied to accounts that had been deleted or locked pending a forced password reset. The Concrete CMS security team gave this vulnerability a CVSS v4.0 score of 2.0 with vector CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:A/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N. Thanks Myq Larson for reporting.

Metrics

CVSS Vector: CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:A/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
CVSS Score: 2

Product Status

Vendor Concrete CMS
Product Concrete CMS
Versions Default: unaffected
  • affected from 5.0.0 to 9.5.3 (incl.)

Credits

  • myq_ finder

References

Problem Types

  • CWE-613 Insufficient Session Expiration CWE

Impacts

  • CAPEC-60 Reusing Session IDs (aka Session Replay)