CVE-2026-87031: Missing authorization in the REST API user creation endpoint in Concrete CMS 9.2.0 through 9.5.3 allows arbitrary account creation

Published Sep 16, 2026
·
Updated

n Concrete CMS 9.2.0 through 9.5.3, the REST API user creation endpoint (POST /ccm/api/1.0/users, the add() method of concrete/src/Api/Controller/Users.php) did not perform a permission check before creating an account. As a result, any valid OAuth token carrying the users:add scope, including a clientcredentials token with no associated user context, could create active, validated user accounts, bypassing email verification and administrator approval. Under default registration settings the created accounts could then edit page content, providing a path to stored cross-site scripting and further compromise. The Concrete CMS security team gave this vulnerability a CVSS v4.0 score of 2.1 with vector CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N. Thanks Winston Crooker for reporting.

Affected Software

1 affected component
Concrete CMS Concrete CMS>=9.2.0<=9.5.3

Event History

Sep 16, 2026
CVE Published
via MITRE·04:40 PM
Data Sourced
via MITRE·04:40 PM
DescriptionWeakness

Frequently Asked Questions

1

What does an attacker need to exploit this issue?

The attacker needs a valid OAuth token with the users:add scope. A client_credentials token without an associated user context is sufficient.

2

Which deployments face the most immediate downstream risk?

Deployments using the affected REST API endpoint with OAuth tokens carrying users:add are exposed. Under default registration settings, accounts created through the endpoint can edit page content.

3

What can a maliciously created account do after creation?

The account is created active and validated, bypassing email verification and administrator approval. With default registration settings, it may edit page content, creating a path to stored cross-site scripting and further compromise.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203