VYPR
Low severityNVD Advisory· Published Apr 13, 2026· Updated Apr 17, 2026

CVE-2026-32270

CVE-2026-32270

Description

Craft Commerce is an ecommerce platform for Craft CMS. In versions 4.0.0 through 4.10.2 and 5.0.0 through 5.5.4, the PaymentsController::actionPay discloses some order data to unauthenticated users when an order number is provided and the email check fails during an anonymous payment. The JSON error response includes the serialized order object (order), which contains some sensitive fields such as customer email, shipping address, and billing address. The frontend payment flow's actionPay() retrieves orders by number before authorization is fully enforcedLoad order by number. This issue has been fixed in versions 4.11.0 and 5.6.0.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
craftcms/commercePackagist
>= 5.0.0, < 5.6.05.6.0
craftcms/commercePackagist
>= 4.0.0, < 4.11.04.11.0

Affected products

1

Patches

1
48a5d9464199

Remove order data from failed email check on payment

https://github.com/craftcms/commerceLuke HolderMar 11, 2026via ghsa
2 files changed · +2 3
  • CHANGELOG.md+1 0 modified
    @@ -3,6 +3,7 @@
     ## Unreleased
     
     - Fixed a [high-severity](https://github.com/craftcms/cms/security/policy#severity--remediation) SQL injection vulnerability in the control panel. (GHSA-875v-7m49-8x88)
    +- Fixed a [low-severity](https://github.com/craftcms/cms/security/policy#severity--remediation) Information disclosure vulnerability in payment controller action. (GHSA-3vxg-x5f8-f5qf)
     
     ## 4.10.2 - 2026-02-09
     
    
  • src/controllers/PaymentsController.php+1 3 modified
    @@ -141,9 +141,7 @@ public function actionPay(): ?Response
     
             if (!$order->getIsActiveCart() && !$checkPaymentCanBeMade) {
                 $error = Craft::t('commerce', 'Email required to make payments on a completed order.');
    -            return $this->asFailure($error, data: [
    -                $this->_cartVariableName => $this->cartArray($order),
    -            ]);
    +            return $this->asFailure($error);
             }
     
             if ($plugin->getSettings()->requireShippingAddressAtCheckout && !$order->shippingAddressId) {
    

Vulnerability mechanics

Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

6

News mentions

11