PatchClock

PHP security digest · 28 Oct 2026

This module enables you to sell goods and services to customers through a shopping cart and checkout form. It includes a feature to manage promotions and the co...

Unrated CVE-2026-118541

Package
drupal/commerce
Fixed in
2.41.0, 3.3.13
Published
Wed 28 Oct 2026, 16:55 LisbonUpdated Mon 2 Nov 2026, 07:26 Lisbon

In plain words

A user who is only allowed to manage their own promotions can change or delete coupons belonging to other promotions. This is possible because the module does not sufficiently check access to the relationship between promotions and coupons. The site must accept writes through JSON:API or REST, which is not enabled by default.

Am I affected?

Look for drupal/commerce and its installed version in composer.lock. The advisory lists fixes in 2.41.0 and 3.3.13, but gives no affected version ranges. Check whether your site accepts writes through JSON:API or REST and allows users to manage only their own promotions.

What to do

Check which version you have, then update to a fixed release for your branch (2.41.0, 3.3.13):

composer show drupal/commerce | grep versions
composer update drupal/commerce

If your version constraint in composer.json keeps you below a fixed release, raise it first. Whether your configuration is affected, and the exact version ranges, are in the advisory itself.

If you cannot update yet

Ensure the site does not accept writes through JSON:API or REST. These writes are not enabled by default.

The advisory's description

This module enables you to sell goods and services to customers through a shopping cart and checkout form. It includes a feature to manage promotions and the coupons that apply them.

The module doesn't sufficiently check access to the relationship between promotions and coupons. A user who is only allowed to manage their own promotions can delete or change coupons that belong to other promotions.

This vulnerability is mitigated by the fact that the site must accept writes through JSON:API or REST, which is not enabled by default.

The advisory

From OSV.dev, which gathers the GitHub Advisory Database, FriendsOfPHP and Drupal security advisories; the summary is theirs. The description is OSV's record of the advisory. "In plain words", "Am I affected?" and "If you cannot update yet" are based on that advisory, and checked to name no version it does not.