Skip to content
Heist/ feed
Back to feed
Low

Missing authorization in the REST API user creation endpoint in Concrete CMS 9.2.0 through 9.5.3 allows arbitrary account creation

Type: advisorySources: OSV

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 client_credentials 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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-87031
Confirmed fixed CVEs
Not specified
Updated in this feed
8 Nov 2026, 03:37 UTC · Revision 1

Source evidence

Missing authorization in the REST API user creation endpoint in Concrete CMS 9.2.0 through 9.5.3 allows arbitrary account creation

core-osv · Original source

Published 16 Sept 2026, 16:40 UTC

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 client_credentials 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.

osv:CVE-2026-87031
Complete source record
{
  "id": "9ff7c848a1d99b9ced7bffd75f283051b7f7840dc4e782996094bd3a12645212",
  "url": "https://osv.dev/vulnerability/CVE-2026-87031",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Missing authorization in the REST API user creation endpoint in Concrete CMS 9.2.0 through 9.5.3 allows arbitrary account creation",
    "summary": "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 client_credentials 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.",
    "evidence": "osv:CVE-2026-87031",
    "products": [],
    "severity": "low",
    "structured": {
      "id": "CVE-2026-87031",
      "aliases": [
        "CVE-2026-87031"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "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"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/concretecms/concretecms",
              "type": "GIT",
              "events": [
                {
                  "introduced": "6462c74b64a9d8919cc4a16f78880079dc6878ff"
                },
                {
                  "fixed": "9379c29cb26a1054208b37507b6869811aa75a32"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "9.2.0"
                      },
                      {
                        "last_affected": "9.5.3"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "cpe": "cpe:2.3:a:concretecms:concrete_cms:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "9.2.0"
                      },
                      {
                        "fixed": "9.5.3"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-87031.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:53.186488048Z",
      "provider": "osv",
      "references": [
        "https://documentation.concretecms.org/developers/introduction/version-history/954-release-notes",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/87xxx/CVE-2026-87031.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-87031",
        "https://github.com/concretecms/concretecms"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-862"
        ],
        "cna_assigner": "ConcreteCMS",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/87xxx/CVE-2026-87031.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-87031",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 522271,
  "published_at": "2026-09-16T16:40:04.774+00:00"
}