Drupal security updates, in plain English

Week of 22 July 2026

Drupal publishes security updates on Wednesdays. This week there were 10, all for modules.

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.

Critical: 6 updates

Cyber Essentials expects a fix within 14 days. Do it this week.

Email Login OTP

Critical · 212 sites report using it · SA-CONTRIB-2026-085 · on drupal.org

This module allows users to log in using a one time password sent to their email address.

This project has been withdrawn because of a security problem its maintainer did not fix. The details are not published. It should be treated as unsafe to keep.

  • Who could do thisOnly someone with an administrator login.
  • Does it apply to youAny site using this module.
  • Has it been used in attacksNo sign of it.
  • How urgentThe Drupal security team has withdrawn this module because its maintainer did not fix a known problem. The only remedy is to remove or replace it.

Tell your developerRemove or replace Email Login OTP. There is no fixed version.

For developers: what the fix changed

The module has been withdrawn, so there is no fixed release to compare.

Commerce Elavon

Critical · 54 sites report using it · SA-CONTRIB-2026-084 · on drupal.org

This module connects an online shop to a payment system.

This project has been withdrawn because of a security problem its maintainer did not fix. The details are not published. It should be treated as unsafe to keep.

  • Who could do thisOnly someone with an administrator login.
  • Does it apply to youAny site using this module.
  • Has it been used in attacksNo sign of it.
  • How urgentThe Drupal security team has withdrawn this module because its maintainer did not fix a known problem. The only remedy is to remove or replace it.

Tell your developerRemove or replace Commerce Elavon. There is no fixed version.

For developers: what the fix changed

The module has been withdrawn, so there is no fixed release to compare.

Internationalization Single Sign-On

Critical · 50 sites report using it · SA-CONTRIB-2026-081 · on drupal.org

This module automatically connects a user across different language domains if they are logged into the main language website.

Anyone without logging in could bypass access controls and log in as another user. They could then view private information and make changes to the website as that person.

  • Who could do thisAnyone visiting the site. No login needed.
  • Does it apply to youThis applies if an attacker appears to come from the same internet address as the victim.
  • Has it been used in attacksNo sign of it.
  • How urgentDrupal rates this critical. Cyber Essentials expects a fix within 14 days. Do it this week.

Tell your developerUpdate Internationalization Single Sign-On to 8.x-1.8.

For developers: what the fix changed

The fix updates token generation in src/Service/Token.php to use cryptographically secure random bytes instead of a predictable hash and changes database queries to use exact matches for tokens and escape user IPs in LIKE conditions.

Also in this release Minor docblock updates and query cleanups.

8.x-1.7 to 8.x-1.8 1 commit, 2 files.

  • src/Controller/TokenController.php +1 −1
  • src/Service/Token.php +11 −11 fix

Full diff, 8.x-1.7 to 8.x-1.8

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

Development Environment

Critical · 19 sites report using it · SA-CONTRIB-2026-089 · on drupal.org

This module provides tools for a development environment.

This project has been withdrawn because of a security problem its maintainer did not fix. The details are not published. It should be treated as unsafe to keep.

  • Who could do thisOnly someone with an administrator login.
  • Does it apply to youAny site using this module.
  • Has it been used in attacksNo sign of it.
  • How urgentThe Drupal security team has withdrawn this module because its maintainer did not fix a known problem. The only remedy is to remove or replace it.

Tell your developerRemove or replace Development Environment. There is no fixed version.

For developers: what the fix changed

The module has been withdrawn, so there is no fixed release to compare.

Lunr exposed filters

Critical · 3 sites report using it · SA-CONTRIB-2026-086 · on drupal.org

This module provides search filter features for a website.

This project has been withdrawn because of a security problem its maintainer did not fix. The details are not published. It should be treated as unsafe to keep.

  • Who could do thisOnly someone with an administrator login.
  • Does it apply to youAny site using this module.
  • Has it been used in attacksNo sign of it.
  • How urgentDrupal rates this critical. Cyber Essentials expects a fix within 14 days. Do it this week.

Tell your developerUpdate Lunr exposed filters to the latest release.

For developers: what the fix changed

The code change for this release could not be fetched from git.drupalcode.org.

PanKM

Critical · no install count published · SA-CONTRIB-2026-083 · on drupal.org

This module provides a prepackaged setup for a knowledge management website.

This project has been withdrawn because of a security problem its maintainer did not fix. The details are not published. It should be treated as unsafe to keep.

  • Who could do thisOnly someone with an administrator login.
  • Does it apply to youAny site using this module.
  • Has it been used in attacksNo sign of it.
  • How urgentThe Drupal security team has withdrawn this distribution because its maintainer did not fix a known problem. The only remedy is to remove or replace it.

Tell your developerRemove or replace PanKM. There is no fixed version.

For developers: what the fix changed

The distribution has been withdrawn, so there is no fixed release to compare.

Moderately critical: 4 updates

Include in your next routine update, within the month.

Search API Autocomplete

Moderately critical · 42,479 sites report using it · SA-CONTRIB-2026-082 · on drupal.org

This module provides automatic text suggestions for search forms on a website.

Anyone without logging in could use a test script to run malicious code in the browser of a visitor. They could use this to view restricted information or make unauthorised changes on the site.

  • Who could do thisAnyone visiting the site. No login needed.
  • Does it apply to youThis applies if the web server is configured to display warning messages to users.
  • Has it been used in attacksNo sign of it.
  • How urgentDrupal rates this moderately critical. Include it in your next routine update, within the month.

Tell your developerUpdate Search API Autocomplete to 8.x-1.12.

For developers: what the fix changed

Moves the JSON content-type header to the start of `search_api_autocomplete_test_custom_autocomplete_callback()` in `custom_autocomplete_script.php` and ignores non-string input to prevent XSS via PHP warnings.

Also in this release Adapted to the deprecation of hook_requirements() and fixed failing tests against newer Drupal versions.

8.x-1.11 to 8.x-1.12 7 commits, 17 files including 9 tests.

  • .gitlab-ci.yml +14 −4
  • .ignored-deprecations.txt +80 −0
  • CHANGELOG.txt +6 −0
  • phpstan.neon +30 −2
  • search_api_autocomplete.install +6 −53
  • search_api_autocomplete.services.yml +7 −1
  • src/Hook/SearchApiAutocompleteHooks.php +97 −0
  • src/Utility/PluginHelper.php +7 −25

Full diff, 8.x-1.11 to 8.x-1.12

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

PhotoSwipe - Responsive JavaScript Modal Image Gallery

Moderately critical · 18,493 sites report using it · SA-CONTRIB-2026-088 · on drupal.org

This module displays picture galleries on a website with mobile browsing features like swiping to the next picture.

Anyone without logging in could see images in a gallery that should be restricted. They could not change or delete any information on the site.

  • Who could do thisAnyone visiting the site. No login needed.
  • Does it apply to youThis applies if the site limits access rights to the images shown in the gallery.
  • Has it been used in attacksNo sign of it.
  • How urgentDrupal rates this moderately critical. Include it in your next routine update, within the month.

Tell your developerUpdate PhotoSwipe - Responsive JavaScript Modal Image Gallery to 3.2.0.

For developers: what the fix changed

The fix adds an access check (`$item->entity->access('view')`) before rendering the image in the `viewElements` method of `PhotoswipeFieldFormatter.php`.

Also in this release The release also replaces deprecated `jQuery.once()` with `core/once`, adds tests, fixes formatter settings for hidden images, updates documentation, and resolves coding standard issues.

3.1.4 to 3.2.0 10 commits, 17 files including 6 tests.

  • README.md +53 −0
  • README.txt +0 −50
  • js/photoswipe.jquery.js +2 −2
  • photoswipe.libraries.yml +10 −9
  • photoswipe.module +72 −1
  • src/ImageDTO.php +0 −1
  • src/PhotoswipeAssetsManager.php +3 −5
  • src/PhotoswipePreprocessProcessor.php +1 −0
  • src/PhotoswipeResponsivePreprocessProcessor.php +20 −3
  • src/Plugin/Field/FieldFormatter/PhotoswipeFieldFormatter.php +35 −33 fix
  • src/Plugin/Field/FieldFormatter/PhotoswipeResponsiveFieldFormatter.php +0 −2

Full diff, 3.1.4 to 3.2.0

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

Webform REST

Moderately critical · 7,867 sites report using it · SA-CONTRIB-2026-087 · on drupal.org

This module allows a website to send and receive form submissions through a data feed.

An ordinary account holder could view form submissions that they should not have access to. They could also add or alter form submissions without the correct access rights.

  • Who could do thisOnly someone with a login on your site.
  • Does it apply to youThis applies if an attacker already has access rights to use the data feed.
  • Has it been used in attacksNo sign of it.
  • How urgentDrupal rates this moderately critical. Include it in your next routine update, within the month.

Tell your developerUpdate Webform REST to 4.1.0.

For developers: what the fix changed

The fix adds access checks for creating, viewing, updating, and deleting webform submissions in `WebformSubmissionResource.php` and `WebformSubmitResource.php`. It uses the `access()` method on the webform and webform submission entities to ensure the current user has the appropriate permissions.

Also in this release The release also added a new event for webform submission returns, token support to the field endpoint, a composer.json file, and fixed handlers and hooks being called twice.

4.0.3 to 4.1.0 7 commits, 5 files.

  • composer.json +38 −0
  • src/Event/WebformSubmitReturnEvent.php +79 −0
  • src/Plugin/rest/resource/WebformFieldsResource.php +21 −1
  • src/Plugin/rest/resource/WebformSubmissionResource.php +89 −0 fix
  • src/Plugin/rest/resource/WebformSubmitResource.php +69 −16 fix

Full diff, 4.0.3 to 4.1.0

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

Media Folders

Moderately critical · 522 sites report using it · SA-CONTRIB-2026-080 · on drupal.org

This module provides a better interface for managing and selecting media items in a folder structure.

An ordinary account holder could add malicious code to the names and descriptions of media items or folders. This code could then run in the browser of another user to view restricted information or make unauthorised changes.

  • Who could do thisOnly someone with a login on your site.
  • Does it apply to youThis applies if an attacker has an access right to create or edit media items or folders.
  • Has it been used in attacksNo sign of it.
  • How urgentDrupal rates this moderately critical. Include it in your next routine update, within the month.

Tell your developerUpdate Media Folders to 1.0.8.

For developers: what the fix changed

Removes `Markup::create()` from folder descriptions in `MediaFoldersUiBuilder` to allow Twig auto-escaping, properly escapes strings in `highlightSearchResult()` before applying markup, and applies the `striptags` filter to the description in the `media-folders-folder.html.twig` template.

Also in this release Added support for SVG Image Field, fixed multiple selection on Mac OS, injected TypedConfigManagerInterface into MediaFoldersConfigForm, and fixed an image preview issue.

1.0.7 to 1.0.8 7 commits, 7 files.

  • js/common.js +1 −1
  • js/folders.js +1 −1
  • js/widget.js +1 −1
  • src/Form/AddWidgetFileForm.php +3 −0
  • src/Form/MediaFoldersConfigForm.php +11 −3
  • src/MediaFoldersUiBuilder.php +10 −5 fix
  • templates/media-folders-folder.html.twig +1 −1 fix

Full diff, 1.0.7 to 1.0.8

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.