VDB
EN
MEDIUM 4.3

GHSA-9p7c-v5x3-rfx8

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

빠른 조치

GHSA-9p7c-v5x3-rfx8 — craftcms/cms: 아래 명령으로 수정 버전으로 올리세요.

composer require craftcms/cms:^4.18.1

상세

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()`.

이 버전이 영향받나요?

사용 중인 패키지 버전을 입력하면 즉시 평가합니다.

영향 패키지

Packagist / craftcms/cms
최초 영향 버전: 4.0.0-RC1 수정 버전: 4.18.1
수정 composer require craftcms/cms:^4.18.1
Packagist / craftcms/cms
최초 영향 버전: 5.0.0-RC1 수정 버전: 5.10.3
수정 composer require craftcms/cms:^5.10.3

참고