CVE-2026-56382 Craft CMS - Remote Code Execution via Missing Config Sanitization in FieldsController
Authenticated admin users can execute arbitrary PHP code and read sensitive data via unsanitized field layout configuration in Craft CMS.
- Exploited in the wild
- Not known
- Login needed
- An administrator
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-56382?
CVE-2026-56382 is a high-severity code injection vulnerability in craftcms cms, published on 21 Jun 2026. An attacker needs administrator access to exploit it, with no action from the victim.
Official description
Craft CMS (composer package craftcms/cms) versions >= 5.5.0 and <= 5.9.13 contain a remote code execution vulnerability in the FieldsController::actionRenderCardPreview() method, which passes the fieldLayoutConfig POST parameter directly to Fields::createLayout() without calling Component::cleanseConfig(). An authenticated admin user can inject Yii2 event handlers (e.g., 'on init' keys) via the fieldLayoutConfig parameter to execute arbitrary PHP code and disclose sensitive information (such as environment variables containing database credentials and CRAFT_SECURITY_KEY). The issue is fixed in version 5.9.14.
Weakness: CWE-94
Which versions are affected by CVE-2026-56382?
2 open source packages ship an affected version, including craftcms/cms.
| Package | Affected | Fixed in |
|---|---|---|
craftcms/cms Packagist | From 5.5.0 | 5.9.14 |
craftcms/cms Packagist | From 5.5.0 | 5.9.14 |
How do I fix CVE-2026-56382?
Upgrade craftcms/cms to 5.9.14 or later.
Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.
Is CVE-2026-56382 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-56382 exists.
Sources
Also known as GHSA-86vw-x4ww-x467.