GitHub Advisoryadvisory · Packagist
GHSA-mqxf-2998-c6cp Craft Commerce is Vulnerable to Stored XSS while updating Order Status from Orders Table
LOW
Official page ↗
- Aliases
- CVE-2026-29173
- Ecosystem
- Packagist
- Packages
- craftcms/commerce
- Severity
- Low
- CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
- Weaknesses
- CWE-79
- Reviewed
- 2026-03-10
Affected packages
• Packagist craftcms/commerce: >= 4.0.0, < 4.10.2 → fixed in 4.10.2
• Packagist craftcms/commerce: >= 5.0.0, < 5.5.3 → fixed in 5.5.3
Description
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
```
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
Related
Alias · CVE (1)
- CVE-2026-29173 Craft Commerce is an ecommerce platform for Craft CMS. vulnerability
Weakness · CWE (1)
- CWE-79 Improper Neutralization of Input During Web Page Generation weakness
References
- https://github.com/craftcms/commerce/security/advisories/GHSA-mqxf-2998-c6cp web
- https://nvd.nist.gov/vuln/detail/CVE-2026-29173 advisory
- https://github.com/craftcms/commerce/commit/60cdc505c03b6fa2f59715e8c060114b66334afa web
- https://github.com/craftcms/commerce/commit/a2ea853935ef03297ea1298bdb0d8c55ec5daf7b web
- https://github.com/craftcms/commerce package