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-06-16
AI Q&A
2026-03-10
EPSS Evaluated
2026-06-15
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 Quick Actions
Instant insights powered by AI
Executive Summary

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.

Impact Analysis

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.

Compliance Impact

I don't know

Detection Guidance

I don't know

Mitigation Strategies

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.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-29172. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart