ZeroHour

CVE-2026-18110

large

Unauthenticated User Enumeration in Concrete CMS 9 Autocomplete Endpoint

CVSS 4.0
8.7 high
EPSS
Published
()
Modified
AI analysis

Concrete CMS 9.0.0 through 9.5.2 omits an authorization check on the /ccm/system/user/autocomplete endpoint that backs the 'Preview as User' panel and other user-selector components. The endpoint validates only a token bound to the selector's display options rather than the caller's identity or permissions, and that token is issued to anonymous visitors, so no login is required to query it. Because an empty search query resolves to a match-all filter, an unauthenticated attacker can submit an empty query and paginate through the results to enumerate every backend account, disclosing internal user IDs, usernames, and email addresses — including the super-administrator (user ID 1). No password hashes or session material are exposed, but the full account list enables targeted phishing, password spraying, and credential stuffing against administrative email addresses. The Concrete CMS security team rated it CVSS v4.0 8.7 (high, CWE-862); no public PoC exists and no exploitation has been reported.

What to do: Upgrade to the latest Concrete CMS 9 release containing the fix (any version newer than 9.5.2). Until patched, restrict or block unauthenticated requests to /ccm/system/user/autocomplete at the WAF or reverse proxy, and review access logs for anonymous empty-query calls to that path as evidence of enumeration. Enable MFA and review administrative accounts for non-default usernames, since super-admin email addresses and usernames are trivially disclosed.

Affected
Concrete CMS (version 9 branch)9.0.0 through 9.5.2
Estimated exposure
large≈10,000–50,000 public sites (order of tens of thousands) — Public web-technology surveys (BuiltWith/PublicWWW-style fingerprints) track tens of thousands of live Concrete CMS installations, of which an unknown subset run the affected 9.x branch; Concrete CMS holds a small (<0.1%) share of the CMS…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

Concrete CMS 9 (9.0.0 through 9.5.2) does not perform an authorization check on the user selector autocomplete endpoint (/ccm/system/user/autocomplete), which backs the "Preview as User" panel and other user-selector components. The endpoint validates only a CSRF-style access token that is bound to the selector's display options rather than to the caller's identity or permissions, and that token is issued to anonymous visitors because the selector renders without an authorization check. Because an empty query resolves to a match-all filter, an unauthenticated attacker can submit an empty search and paginate the results to enumerate every backend account, disclosing the internal user ID, username, and email address of all administrative users, including the super-administrator (user ID 1). No password hashes or session material are disclosed The Concrete CMS security team gave this vulnerability a CVSS v4.0 score of 8.7 with vector CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N. Thanks thirtythree and YesWeHack for reporting.

Weakness
CWE-862
Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

In the news

No ingested article mentions this CVE yet.