GHSA-F5WM-88JV-G5HX

GHSA-F5WM-88JV-G5HX is a high-severity security vulnerability in craftcms/cms (composer), affecting versions >= 5.0.0-RC1, < 5.10.7. It is fixed in 5.10.7, 4.18.3.

Does this CVE actually affect you?

Kodem shows which CVEs are reachable and running in your applications, so you fix what's exploitable, not just what's listed.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Runtime intelligence, not another scanner.

Summary

Craft CMS: Authenticated RCE through Twig sandbox escape

The Twig sandbox mechanism in Craft CMS is configured to allow dangerous functionality from the Yii framework, leading to authenticated RCE in a manner similar to previously disclosed vulnerabilities.

The Twig sandbox in Craft CMS works by implementing Twig's SecurityPolicyInterface. The resulting SecurityPolicy class implements the checkMethodAllowed and checkPropertyAllowed methods of the interface. The implementations compare whether the called method or property is in a configured allowlist or is marked with the AllowedInSandbox attribute.

Additionally, SecurityPolicy allows the allowlisting of whole classes, which is shorthand for allowing all methods and properties of that class to be called. Both the allowlists for tags, filters, variables, methods, properties, and classes, as well as the AllowedInSandbox attribute mechanism, are preconfigured by Craft CMS to allow user-defined templates to use core functionality unimpeded. Additionally, Craft CMS project developers can add more to the allowlists or mark their custom methods and so on as safe with AllowedInSandbox.

The SecurityPolicy class's allowlisting mechanism is potentially dangerous, as it allows all methods and properties on an object of the allowed class. This means that the checked object can be a subclass and be allowed. And it means that the allowed methods and properties can be defined on any class of the class hierarchy of the object, which does not have to be the allowed class itself.

Craft CMS uses the AllowedInSandbox attribute to mark the ElementInterface as safe. The Element class implements this interface and is the base class for many relevant model classes in Craft CMS, like Entry, User, Asset and so on. Additionally, Element extends the craft\base\Component class. Going up the class hierarchy of craft\base\Component, eventually the class yii\base\Component is reached, which is located in the Yii framework used by CraftCMS. yii\base\Component is known to contain a dangerous arbitrary function call gadget which leads to previously disclosed RCE vulnerabilities in Craft CMS (GHSA-255j-qw47-wjh5, GHSA-2fph-6v5w-89hh, GHSA-7jx7-3846-m7w7, GHSA-qrgm-p9w5-rrfw). Due to lax class allowlisting, this function-call gadget is allowed in the Twig sandbox. This allows sandboxed Twig templates to use known payloads based on the function-call gadget to achieve RCE.

Impact

An authenticated attacker with permission to access the control panel can render a malicious Twig template and gain RCE, even if the Twig sandbox is enabled through enableTwigSandbox().

Affected versions

craftcms/cms (>= 5.0.0-RC1, < 5.10.7) craftcms/cms (>= 4.0.0-RC1, < 4.18.3)

Security releases

craftcms/cms → 5.10.7 (composer) craftcms/cms → 4.18.3 (composer)

Kodem intelligence

Severity tells you how bad this could be in the worst case. It does not tell you whether you are exposed. Exploitability and impact are functions of runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A vulnerable package can sit in your dependency tree and never run.

Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter. Kodem's runtime-powered SCA identifies whether this CVE is reachable in your applications.

Already deployed Kodem?

See it in your environmentNew to Kodem? Get a demo →

Remediation advice

Upgrade the following packages to resolve this vulnerability:

craftcms/cms to 5.10.7 or later; craftcms/cms to 4.18.3 or later

Kodem Kai can prioritize this vulnerability in your dependency tree and generate a fix recommendation.

Frequently Asked Questions

  1. What is GHSA-F5WM-88JV-G5HX? GHSA-F5WM-88JV-G5HX is a high-severity security vulnerability in craftcms/cms (composer), affecting versions >= 5.0.0-RC1, < 5.10.7. It is fixed in 5.10.7, 4.18.3.
  2. Which versions of craftcms/cms are affected by GHSA-F5WM-88JV-G5HX? craftcms/cms (composer) versions >= 5.0.0-RC1, < 5.10.7 is affected.
  3. Is there a fix for GHSA-F5WM-88JV-G5HX? Yes. GHSA-F5WM-88JV-G5HX is fixed in 5.10.7, 4.18.3. Upgrade to this version or later.
  4. Is GHSA-F5WM-88JV-G5HX exploitable, and should I be worried? Whether GHSA-F5WM-88JV-G5HX is exploitable in your environment depends on whether the vulnerable code is present and reachable. A CVSS score is a worst-case rating; it does not account for your specific deployment, configuration, or usage patterns. Kodem, an Intelligent Application Security platform, uses runtime intelligence to show which vulnerabilities actually execute in production, so you can focus on the ones that represent real risk. Get a demo
  5. What actually determines whether GHSA-F5WM-88JV-G5HX is exploitable, and how bad it is? Exploitability and impact are not fixed properties of a CVE. They depend on runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A high CVSS score on a dependency that never runs is not the same as real risk. Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter.
  6. How do I fix GHSA-F5WM-88JV-G5HX?
    • Upgrade craftcms/cms to 5.10.7 or later
    • Upgrade craftcms/cms to 4.18.3 or later

Other vulnerabilities in craftcms/cms

Stop the waste.
Protect your environment with Kodem.