Description
Craft Commerce is an ecommerce platform for Craft CMS. Prior to 4.10.2 and 5.5.3, Craft Commerce is vulnerable to SQL Injection in the purchasables table endpoint. The sort parameter is split by | and the first part (column name) is passed directly as an array key to orderBy() without whitelist validation. Yii2's query builder does NOT escape array keys, allowing an authenticated attacker to inject arbitrary SQL into the ORDER BY clause. This vulnerability is fixed in 4.10.2 and 5.5.3.
Problem types
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
Product status
>= 5.0.0 < 5.5.3
References
github.com/...mmerce/security/advisories/GHSA-j3x5-mghf-xvfw
github.com/...mmerce/security/advisories/GHSA-j3x5-mghf-xvfw
github.com/...ommit/b231b920b73db023e81e5b261b894d73e865c276
github.com/...ommit/e4e0f4107cd895d29290523637f077fe280407b1