Description
Craft is a platform for creating digital experiences. In Craft versions 4.0.0-RC1 through 4.16.17 and 5.0.0-RC1 through 5.8.21, the element-indexes/get-elements endpoint is vulnerable to SQL Injection via the criteria[orderBy] parameter (JSON body). The application fails to sanitize this input before using it in the database query. An attacker with Control Panel access can inject arbitrary SQL into the ORDER BY clause by omitting viewState[order] (or setting both to the same payload). This issue is patched in versions 4.16.18 and 5.8.22.
Problem types
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
Product status
>= 4.0.0-RC1, < 4.16.18
References
github.com/...ms/cms/security/advisories/GHSA-2453-mppf-46cj
github.com/...ommit/96c60d775c644ff0a0276da52fe29e11d4cd38d2
github.com/craftcms/cms/releases/tag/5.8.22