Drupal Commerce CVE-2026-118539 is exploited: patch, audit orders
Drupal Commerce Core CVE-2026-118539 lets unauthenticated attackers bypass access checks. Update to 3.3.13 or 8.x-2.41, then audit every order since October.
Your store can be patched and still be wrong. Drupal Commerce Core CVE-2026-118539 is an access bypass that attackers are using right now. Drupal's security team rates it highly critical, 21 out of 25, and says no login is needed. The fix shipped on October 28. But the advisory tells you to do one more thing after the update: audit your orders. If you run a Drupal store and haven't touched it since October, this is your weekend job.
What actually happened
- The flaw. Commerce Core is the module that gives Drupal a cart, a checkout and order APIs. Per the advisory quoted by BleepingComputer, the module "doesn't sufficiently protect certain routes and entity fields." Drupal says the result "may financially impact the vendor." In plain words: someone can change order data they should not reach.
- Who's affected. Per SecurityWeek, 3.x releases before 3.3.13 and older releases before 8.x-2.41. Drupal's own statistics show the module on more than 42,000 sites.
- Exploitation. Drupal confirms attacks in the wild. It hasn't said how the bug is used, who is behind it, or how many stores were hit.
- It wasn't alone. The same October 28 batch had 38 more advisories. SecurityWeek says one critical bug let Commerce orders paid through Stripe be marked as paid with no payment. So update every Commerce module, not just core.
Why it matters for your business
A defaced homepage gets noticed. A changed order total does not. Your fulfillment team ships what the order says, and an order bug turns into lost stock and lost money with no alarm. That's why the audit matters more than usual.
Do it in this order:
- Check your version. Run
composer show drupal/commerce. If you're under 3.3.13 on 3.x, or under 8.x-2.41 on the old branch, you're exposed. - Update everything Commerce.
composer update "drupal/commerce*" --with-all-dependencies, thendrush updatedbanddrush cache:rebuild. Test checkout on staging first if you have it. Don't wait on staging if you don't. - Audit orders since October 28, and earlier if you can. Drupal hasn't said whether this was used before the fix. Compare each order's total with the payments recorded against it. Flag orders marked paid or completed with no matching charge in your payment dashboard. Flag orders whose items or prices changed after checkout.
- Hold what looks wrong. Pause fulfillment on flagged orders until a person checks them.
Key takeaways
- CVE-2026-118539 is an exploited access bypass in Drupal Commerce Core that needs no login
- Fixed versions are 3.3.13 and 8.x-2.41; update every Commerce module from the October 28 batch
- A separate critical bug let Stripe-paid Commerce orders show as paid without payment
- Drupal says to audit orders, so match every order total to a real payment
- Pause fulfillment on any order that doesn't reconcile
Nobody reconciling orders against payments? We build stores and back-office checks that match every order to a real charge and flag the ones that don't, before they ship. Ask us to audit your store, or see what we've built.
Sources: BleepingComputer, SecurityWeek.
- #drupal-commerce
- #cve-2026-118539
- #ecommerce-security
- #patching
- #order-fraud
Tommy Rush — Founder, Rush Commerce
Operator turned builder. 15+ years running operations — now shipping the systems businesses run on. More
Get The Rush Report weekly — one email, zero fluff.
Keep reading
Outlook.com is rejecting email from domains without DMARC
Outlook.com and Hotmail now bounce some mail from domains with no DMARC record, even small senders passing SPF and DKIM. The fix is one DNS record.
Read itIris Ohyama breach: 7.7M shoppers' data in one cloud store
The Iris Plaza breach put data on 7.7M shoppers at risk, including 1.9M guest buyers and giveaway entrants. Delete the customer data you don't need.
Read it