GHSA-9p7c-v5x3-rfx8

ghsaUSosv

Craft CMS: Missing authorization check allows non-admin control panel users to reorder Global Sets

view advisory published 2026-08-06Licence: CC-BY-4.0

The `reorder-sets` action in Craft CMS’s `GlobalsController` is missing the `requireAdmin()` check that the adjacent `save-set` and `delete-set` actions both enforce. Any authenticated control panel user can POST to `/actions/globals/reorder-sets` and permanently reorder all global sets in the project config, regardless of whether they have admin access. The reordering is written through to the project config and persists across requests. ## Description `GlobalsController` exposes three administrative actions for managing global set structure. Two of them gate on admin status; the third does not. ## Prerequisites - A Craft CMS instance with at least two global sets and a non-admin control panel user account. ## Impact A non-admin control panel user can reorder all global sets. While this does not expose or modify content, reordering global sets modifies the project config -- a versioned artifact that is typically committed to source control and deployed across environments. An attacker can create noise in the project config history, trigger config-sync conflicts, or manipulate the display order seen by all editors in the admin panel. The same non-admin user cannot create or delete global sets because those actions correctly enforce `requireAdmin()`.

01

describes (1)

Related CVEs.

IDseverity exploitable
CVE-2026-14793US—OT elevated—
A vulnerability was detected in Craft CMS up to 4.18.0.1. Affected is the function actionReorderSets of the file src/controllers/GlobalsController.php of the component reorder-sets…
02

references

External citations — patches, advisories, analysis.

scry

Advisories like this name the exposed products attackers go after on your perimeter. See what is exposed on your perimeter with a free passive scan.

Free scan