MediumGHSA-qc86-q28f-ggwwCVE-2026-28784

Craft CMS has potential authenticated Remote Code Execution via Twig SSTI

Published 3 Mar 2026 · Updated 4 Mar 2026

Affected packages

craftcms/cmsComposer
Affected
>=5.0.0-RC1 <5.9.0-beta.1
Fixed in
5.9.0-beta.1
Update to the fixed version for your release line, for example:composer require craftcms/cms:^5.9.0-beta.1
craftcms/cmsComposer
Affected
>=4.0.0-RC1 <4.17.0-beta.1
Fixed in
4.17.0-beta.1
Update to the fixed version for your release line, for example:composer require craftcms/cms:^4.17.0-beta.1

Details

For this to work, the attacker must have administrator access to the Craft Control Panel, and allowAdminChanges must be enabled, which is against Craft CMS' recommendations for any non-dev environment.

https://craftcms.com/knowledge-base/securing-craft#set-allowAdminChanges-to-false-in-production

Alternatively, they can have a non-administrator account with allowAdminChanges disabled, but they must have access to the System Messages utility.

It is possible to craft a malicious payload using the Twig map filter in text fields that accept Twig input under Settings in the Craft control panel or using the System Messages utility, which could lead to a RCE.

Users should update to the patched versions (5.8.22 and 4.16.18) to mitigate the issue.

References:

https://github.com/craftcms/cms/pull/18208

Is GHSA-qc86-q28f-ggww in any of your client repos?

Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected craftcms/cms, and gives you the command that fixes it.

References

Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.