IT SBIT Services
Schneeberger
DEEN
CVE tracker

Craft CMS: Remote code execution via behavior injection in actionCacheUpdates

CVE-2026-109308High 8.7

← All vulnerabilities

Summary

Craft CMS, a PHP content management system, contains a code injection flaw in the update cache action (actionCacheUpdates). An authenticated control panel user with the performUpdates permission or access to the Updates utility can inject behaviors and event handlers, which can lead to arbitrary code execution on the server. Administrator rights are not required, but a valid control panel account is needed.

Affected

  • Craft CMS 4.0.0 to before 4.18.7
  • Craft CMS 5.0.0 to before 5.10.14

Fixed in

  • Craft CMS 4.18.7 or later (4.x line)
  • Craft CMS 5.10.14 or later (5.x line)

Workaround

Unknown. The vendor does not describe a workaround.

  • Limit the performUpdates permission and Updates utility access to trusted users.
  • Restrict control panel access to trusted networks or VPN.

Exploitation

  • No known exploitation in the wild according to the sources reviewed.
  • Not listed in CISA KEV. CISA SSVC: exploitation none, not automatable, total technical impact.
  • No public proof of concept found. The advisory describes the mechanism.

Our recommendation

  • Inventory Craft installations and check composer.lock for craftcms/cms versions below 4.18.7 or 5.10.14.
  • Upgrade affected installations promptly after testing.
  • Review accounts with performUpdates or Updates utility access and remove unneeded rights.
  • Restrict control panel access to trusted networks where possible.
  • Check logs for unusual requests to the update cache action.

Public exploits

PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.

Research sources

Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 1 Nov 2026, 04:48.

Original description (NVD)

Craft CMS 4.0.0 before 4.18.7 and 5.0.0 before 5.10.14 passes the raw 'updates' request parameter in AppController::actionCacheUpdates to UpdatesModel without Component::cleanseConfig(), allowing behavior and event-handler injection. Authenticated control panel users with the performUpdates permission or Updates-utility access can supply 'as' or 'on' keys, such as an AttributeTypecastBehavior gadget, to execute arbitrary code.

NVD references (2)

Sources

The tracker combines official, freely usable data sources – updated continuously:

This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.

Affected? We can help.

We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.