GHSA-mqxf-2998-c6cp
Craft Commerce is Vulnerable to Stored XSS while updating Order Status from Orders Table
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| Packagist | craftcms/commerce | >= 4.0.0, < 4.10.2 | 4.10.2 |
| Packagist | craftcms/commerce | >= 5.0.0, < 5.5.3 | 5.5.3 |
Details
As written in the advisory (Markdown source, shown as plain text).
## 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
1. Log in with an admin account
2. Navigate to **Commerce** → **Settings** → **Order Statuses**
3. Create a new order status
4. Set the **Name** field to:
```html
<img src=x onerror="alert('Order Statuses XSS')">
```
5. Save the order status
6. Go to Commerce → Orders (make sure you placed any orders)
7. From the left panel, select any Order Status (e.g., New)
8. Select any order from the orders table → Click on the Gear Icon → then click "Update Order Status..."
9. Notice the XSS execution
References
External links from the advisory. They lead to third-party sites.
- 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