Craft Commerce is Vulnerable to Stored XSS while updating Order Status from Orders Table
The advisory, in context
Summary
A stored XSS vulnerability exists when a user tries to update the Order Status from the Commerce Orders Table. The Order Status Name is rendered without proper escaping, allowing script execution to occur.
Proof of Concept
Required Permissions
- Admin access (to edit/create Order Statuses)
Steps to Reproduce
- Log in with an admin account
- Navigate to Commerce → Settings → Order Statuses
- Create a new order status
- Set the Name field to:
<img src=x onerror="alert('Order Statuses XSS')">
- Save the order status
- Go to Commerce → Orders (make sure you placed any orders)
- From the left panel, select any Order Status (e.g., New)
- Select any order from the orders table → Click on the Gear Icon → then click "Update Order Status..."
- Notice the XSS execution
Affected packages
Start with the recorded fix for your release branch. Check your installed version and test compatibility before upgrading. Fixing this advisory does not rule out other vulnerabilities in the release.
From 4.0.0 before 4.10.2
Fixed in 4.10.2
69 explicitly affected versions
4.0.0, 4.0.1, 4.0.2, 4.0.3, 4.0.4, 4.1.0, 4.1.1, 4.1.2, 4.1.3, 4.10.0, 4.10.1, 4.2.0, 4.2.1, 4.2.10, 4.2.11, 4.2.2, 4.2.3, 4.2.4, 4.2.5, 4.2.5.1, 4.2.6, 4.2.7, 4.2.8, 4.2.9, 4.3.0, 4.3.1, 4.3.2, 4.3.3, 4.4.0, 4.4.1, 4.4.1.1, 4.5.0, 4.5.1, 4.5.1.1, 4.5.2, 4.5.3, 4.5.4, 4.6.0, 4.6.1, 4.6.10, 4.6.11, 4.6.12, 4.6.13, 4.6.14, 4.6.2, 4.6.3.1, 4.6.4, 4.6.5, 4.6.6, 4.6.7, 4.6.8, 4.6.9, 4.7.0, 4.7.1, 4.7.2, 4.7.3, 4.8.0, 4.8.0.1, 4.8.1, 4.8.1.1, 4.8.1.2, 4.8.2, 4.8.3, 4.8.4, 4.9.0, 4.9.1, 4.9.2, 4.9.3, 4.9.4
View affected-version evidence
{
"ranges": [
{
"events": [
{
"introduced": "4.0.0"
},
{
"fixed": "4.10.2"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"4.0.0",
"4.0.1",
"4.0.2",
"4.0.3",
"4.0.4",
"4.1.0",
"4.1.1",
"4.1.2",
"4.1.3",
"4.10.0",
"4.10.1",
"4.2.0",
"4.2.1",
"4.2.10",
"4.2.11",
"4.2.2",
"4.2.3",
"4.2.4",
"4.2.5",
"4.2.5.1",
"4.2.6",
"4.2.7",
"4.2.8",
"4.2.9",
"4.3.0",
"4.3.1",
"4.3.2",
"4.3.3",
"4.4.0",
"4.4.1",
"4.4.1.1",
"4.5.0",
"4.5.1",
"4.5.1.1",
"4.5.2",
"4.5.3",
"4.5.4",
"4.6.0",
"4.6.1",
"4.6.10",
"4.6.11",
"4.6.12",
"4.6.13",
"4.6.14",
"4.6.2",
"4.6.3.1",
"4.6.4",
"4.6.5",
"4.6.6",
"4.6.7",
"4.6.8",
"4.6.9",
"4.7.0",
"4.7.1",
"4.7.2",
"4.7.3",
"4.8.0",
"4.8.0.1",
"4.8.1",
"4.8.1.1",
"4.8.1.2",
"4.8.2",
"4.8.3",
"4.8.4",
"4.9.0",
"4.9.1",
"4.9.2",
"4.9.3",
"4.9.4"
]
}From 5.0.0 before 5.5.3
Fixed in 5.5.3
87 explicitly affected versions
5.0.0, 5.0.1, 5.0.10, 5.0.10.1, 5.0.11, 5.0.11.1, 5.0.12, 5.0.12.1, 5.0.12.2, 5.0.13, 5.0.14, 5.0.15, 5.0.16, 5.0.16.1, 5.0.16.2, 5.0.17, 5.0.18, 5.0.19, 5.0.2, 5.0.3, 5.0.4, 5.0.5, 5.0.6, 5.0.7, 5.0.8, 5.0.9, 5.1.0, 5.1.0-beta.1, 5.1.0-beta.2, 5.1.0-beta.3, 5.1.0.1, 5.1.1, 5.1.2, 5.1.3, 5.1.4, 5.2.0, 5.2.1, 5.2.10, 5.2.11, 5.2.12, 5.2.12.1, 5.2.2, 5.2.2.1, 5.2.3, 5.2.4, 5.2.5, 5.2.6, 5.2.7, 5.2.8, 5.2.9, 5.2.9.1, 5.3.0, 5.3.0.1, 5.3.0.2, 5.3.1, 5.3.10, 5.3.11, 5.3.12, 5.3.13, 5.3.2, 5.3.2.1, 5.3.2.2, 5.3.3, 5.3.4, 5.3.5, 5.3.6, 5.3.7, 5.3.8, 5.3.9, 5.4.0, 5.4.1, 5.4.1.1, 5.4.10, 5.4.2, 5.4.3, 5.4.4, 5.4.5, 5.4.5.1, 5.4.6, 5.4.7, 5.4.7.1, 5.4.8, 5.4.9, 5.5.0, 5.5.0.1, 5.5.1, 5.5.2
View affected-version evidence
{
"ranges": [
{
"events": [
{
"introduced": "5.0.0"
},
{
"fixed": "5.5.3"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"5.0.0",
"5.0.1",
"5.0.10",
"5.0.10.1",
"5.0.11",
"5.0.11.1",
"5.0.12",
"5.0.12.1",
"5.0.12.2",
"5.0.13",
"5.0.14",
"5.0.15",
"5.0.16",
"5.0.16.1",
"5.0.16.2",
"5.0.17",
"5.0.18",
"5.0.19",
"5.0.2",
"5.0.3",
"5.0.4",
"5.0.5",
"5.0.6",
"5.0.7",
"5.0.8",
"5.0.9",
"5.1.0",
"5.1.0-beta.1",
"5.1.0-beta.2",
"5.1.0-beta.3",
"5.1.0.1",
"5.1.1",
"5.1.2",
"5.1.3",
"5.1.4",
"5.2.0",
"5.2.1",
"5.2.10",
"5.2.11",
"5.2.12",
"5.2.12.1",
"5.2.2",
"5.2.2.1",
"5.2.3",
"5.2.4",
"5.2.5",
"5.2.6",
"5.2.7",
"5.2.8",
"5.2.9",
"5.2.9.1",
"5.3.0",
"5.3.0.1",
"5.3.0.2",
"5.3.1",
"5.3.10",
"5.3.11",
"5.3.12",
"5.3.13",
"5.3.2",
"5.3.2.1",
"5.3.2.2",
"5.3.3",
"5.3.4",
"5.3.5",
"5.3.6",
"5.3.7",
"5.3.8",
"5.3.9",
"5.4.0",
"5.4.1",
"5.4.1.1",
"5.4.10",
"5.4.2",
"5.4.3",
"5.4.4",
"5.4.5",
"5.4.5.1",
"5.4.6",
"5.4.7",
"5.4.7.1",
"5.4.8",
"5.4.9",
"5.5.0",
"5.5.0.1",
"5.5.1",
"5.5.2"
]
}References
- https://github.com/craftcms/commerce/security/advisories/GHSA-mqxf-2998-c6cp
- https://nvd.nist.gov/vuln/detail/CVE-2026-29173
- https://github.com/craftcms/commerce/commit/60cdc505c03b6fa2f59715e8c060114b66334afa
- https://github.com/craftcms/commerce/commit/a2ea853935ef03297ea1298bdb0d8c55ec5daf7b
- https://github.com/craftcms/commerce