Drupal security updates, in plain English

Week of 27 May 2026

Drupal publishes security updates on Wednesdays. This week there was one, for a module.

None for Drupal core, so nothing here applies to every site.

Each card says what the module does, what went wrong, who could do it, whether it applies to you, how urgent it is, and the one line to send to your developer. Worst rated first, and most used first within a rating.

New here? How Drupal security updates work explains who publishes these, why they matter and what the ratings mean. Earlier weeks and a search by module are on the main page.

Highly critical: 1 update

The worst kind. An outsider could take over the site. Fix today.

Drupal AlternativeCommerce (Basket)

Highly critical · 510 sites report using it · SA-CONTRIB-2026-038 · on drupal.org

This software adds an online shop and checkout to a website.

A person without an account could send specific data to the website to run their own computer code. This would let them view any private information stored on the site. They could also alter any content or change the underlying software itself.

  • Who could do thisAnyone visiting the site. No login needed.
  • Does it apply to youThis applies if a specific chain of code exists in the website software or its additions.
  • Has it been used in attacksNo sign of it.
  • How urgentDrupal rates this highly critical. Cyber Essentials expects a fix within 14 days. Do it this week.

Tell your developerUpdate Drupal AlternativeCommerce (Basket) to 2.1.17.

For developers: what the fix changed

Replaces `serialize()` and `unserialize()` with `json_encode()` and `json_decode()` for `payInfo` in `src/BasketOrderForm.php` and `src/Controller/Pages.php`, adding a fallback to a safe `unserialize()` with `allowed_classes` set to `FALSE` for legacy data.

Also in this release Added CSRF token validation for API actions, hardened payment callback order finalization, and fixed negative values in basket count calculation.

2.1.16 to 2.1.17 6 commits, 6 files.

  • basket.libraries.yml +1 −0
  • basket.module +4 −0
  • misc/basket.js +6 −2
  • src/BasketOrderForm.php +11 −11 fix
  • src/Controller/Pages.php +50 −3 fix
  • src/Query/BasketQuery.php +1 −1

Full diff, 2.1.16 to 2.1.17

The comparison is against the release immediately before the fix. If your site is on an older release, more will have changed.

Not sure what your site is running?

Send me your Drupal site's address.

I'll tell you what I can see from outside, what the Drupal 10 end of life on 9 December means for it, and what it would cost to have me keep it patched. There's no charge for that and no obligation. peter@peterbrady.co.uk

Compiled 10 October 2026 as part of the archive back to January 2026, from the advisories published by the Drupal security team on drupal.org. The facts on each card are theirs. The plain English is mine, with help from a language model. In the archive the cards rated critical or above were read before publishing and the rest were checked by sampling. Install counts are today's, not the count on the day of the advisory.


Get in touch

Tell me who you are, what your organisation does, and what you need. That might be a Drupal site that needs looking after, an upgrade to get done before December, or an agency that needs Drupal cover.

If I can help, I'll say so and suggest a call. If I can't, I'll tell you straight away rather than waste your time.

peter@peterbrady.co.uk

For context: I work mainly with UK charities, membership bodies and research organisations, and with the agencies that look after their websites. Not recruiters.

Or start smaller and connect with me on LinkedIn. That's where I post what I find digging around in charity and grants data, and where the free tools turn up first.