CVE-2026-29172
Received Received - Intake
SQL Injection in Craft Commerce purchasables Endpoint Allows Data Manipulation

Publication date: 2026-03-10

Last updated on: 2026-03-11

Assigner: GitHub, Inc.

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.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-03-10
Last Modified
2026-03-11
Generated
2026-05-07
AI Q&A
2026-03-10
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 2 associated CPEs
Vendor Product Version / Range
craftcms craft_commerce From 4.0.0 (inc) to 4.10.2 (exc)
craftcms craft_commerce From 5.0.0 (inc) to 5.5.3 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-89 The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component. Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

CVE-2026-29172 is a SQL Injection vulnerability in Craft Commerce, an ecommerce platform for Craft CMS. The issue exists in the purchasables table endpoint where the 'sort' parameter is split by the '|' character, and the first part (which is supposed to be a column name) is used directly as an array key in the orderBy() function without any whitelist validation.

Because Yii2's query builder does not escape array keys, an authenticated attacker can inject arbitrary SQL into the ORDER BY clause, potentially manipulating the database query in unintended ways.

This vulnerability affects versions prior to 4.10.2 and 5.5.3 and has been fixed in those versions.


How can this vulnerability impact me? :

This SQL Injection vulnerability allows an authenticated attacker to inject arbitrary SQL code into the ORDER BY clause of database queries.

Such an attack can lead to unauthorized data access, data manipulation, or disruption of the ecommerce platform's normal operation.

Given the high CVSS score of 8.7, the impact is considered severe, potentially compromising the confidentiality, integrity, and availability of the affected system.


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

I don't know


How can this vulnerability be detected on my network or system? Can you suggest some commands?

I don't know


What immediate steps should I take to mitigate this vulnerability?

To mitigate this vulnerability, you should upgrade Craft Commerce to version 4.10.2 or later, or version 5.5.3 or later, where the SQL Injection issue in the purchasables table endpoint has been fixed.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart