VDB
EN
HIGH

GHSA-265m-7826-wjqm

Craft CMS: Authenticated RCE via `condition.config` JSON cleanse bypass

빠른 조치

GHSA-265m-7826-wjqm — craftcms/cms: 아래 명령으로 수정 버전으로 올리세요.

composer require craftcms/cms:^5.10.6

상세

Craft CMS has an authenticated remote code execution issue in the control panel element-search condition handling.

Craft cleans the outer request-controlled condition array with `Component::cleanseConfig()`, but `Conditions::createCondition()` later decodes and merges the JSON string in `condition.config` without re-running `cleanseConfig()` on the decoded/merged configuration.

Because `condition.config` is a JSON string during the first cleanse, Yii special config keys such as `as` ... and `on` ... can be hidden inside it. After JSON decoding, those keys reach FieldLayout object creation and are interpreted by Yii as behavior/event configuration.

The RCE is semi-blind: the trigger endpoint returns a normal JSON response, and the command output is verified via a server-side file-write side effect retrieved in a subsequent request.

## Preconditions

- The attacker needs an authenticated Craft control panel session. - A valid CSRF token is required.

## Impact

An authenticated control panel user can inject Yii behavior/event configuration after Craft’s intended config cleanse boundary. In the confirmed local lab, this led to command execution as the PHP/web user.

Potential attacker impact: - Execute operating system commands as the PHP/web user. - Read Craft secrets, environment variables, and application configuration. - Access database credentials and stored site content. - Modify site content, users, and application state. - Pivot to internal services reachable from the Craft host or container. - Cause denial of service or establish persistence depending on deployment permissions.

이 버전이 영향받나요?

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

영향 패키지

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

참고