---
id: CVE-2026-81901
title: >-
  In Concrete CMS 9.2.0 through 9.5.2, the REST API page update endpoint (PUT
  /ccm/api/1.0/pages/{cID}) did not enforce page-property, page-template, or
  page-type authorization
summary: >-
  In Concrete CMS 9.2.0 through 9.5.2, the REST API page update endpoint (PUT
  /ccm/api/1.0/pages/{cID}) did not enforce page-property, page-template, or
  page-type authorization. A user granted only content-editing rights on a page
  could th…
severity: high
cvss: 8.7
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N'
cwe:
  - CWE-862
vendor: concretecms
product: concrete_cms
affected:
  - 'concrete_cms >= 9.2.0, < 9.5.3'
patched:
  - concrete_cms 9.5.3
published: '2026-09-14'
updated: '2026-09-18'
sourceUpdated: '2026-09-18T19:17:29.047'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-81901'
references:
  - url: >-
      https://documentation.concretecms.org/developers/introduction/version-history/953-release-notes
    label: ff5b8ace-8b95-4078-9743-eac1ca5451de
tags:
  - nvd
  - cve.org
epss: 0.00383
epssPercentile: 0.29527
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-09-15T14:23:29.199682Z'
scores:
  nvd: 8.7
  cna: 7.2
ingestedAt: '2026-09-14T21:15:17.559Z'
---

## Overview

In Concrete CMS 9.2.0 through 9.5.2, the REST API page update endpoint (PUT /ccm/api/1.0/pages/{cID}) did not enforce page-property, page-template, or page-type authorization. A user granted only content-editing rights on a page could therefore alter its properties, template, and type through the API, and could set the header_extra_content attribute, which is rendered unescaped into the head element of every page, to persist JavaScript that executed in the browser of every visitor, including higher-privileged reviewers who approve the page version. The Concrete CMS security team gave this vulnerability a CVSS v4.0 score of 7.2 with vector CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N. Thanks Yonatan Drori from Tenzai for reporting.

## Affected

- `concrete_cms >= 9.2.0, < 9.5.3`

## Remediation

Upgrade past the affected range:

- `concrete_cms 9.5.3`
