Drupal security updates, in plain English · Module

CAPTCHA

244,414 sites report using it · on drupal.org · 1 security update explained here

This module protects web forms from automated spam by requiring visitors to pass a test.

Below is every security update for CAPTCHA that this site has covered, newest first. Each one says who could exploit it, whether it applies to your site, how urgent it is, and what to tell your developer. If your site uses this module and you are not sure which version, that is the first question to ask whoever looks after it.

CAPTCHA

Moderately critical · 244,414 sites report using it · SA-CONTRIB-2026-015 · on drupal.org · Week of 25 February 2026

The module does not properly cancel security tokens after they are used. Someone could use this to bypass the spam protection on future form submissions. They could not view or alter any hidden information.

  • Who could do thisAnyone visiting the site. No login needed.
  • Does it apply to youA site is affected if an attacker manually solves at least one spam test to collect valid tokens.
  • Has it been used in attacksYes. It has been used in real attacks.
  • How urgentDrupal rates this moderately critical. Include it in your next routine update, within the month.

Tell your developerUpdate CAPTCHA to 8.x-1.17 or 2.0.10, whichever branch you are on.

For developers: what the fix changed

The fix prevents CAPTCHA replay attacks by invalidating the session token (setting it to NULL) upon successful validation in `captcha_validate()` within `captcha.module`, and prevents retrieving solutions for already solved sessions. It also regenerates the token for 'show always' persistence in `src/Element/Captcha.php`.

Also in this release The release also includes test fixes, removes the VERSION key from libraries.yml, adds a data-nosnippet attribute to the CAPTCHA template, and makes minor accessibility and logging improvements.

8.x-1.16 to 8.x-1.17 10 commits, 13 files including 6 tests.

  • .gitlab-ci.yml +2 −2
  • captcha.inc +4 −0
  • captcha.module +37 −29 fix
  • modules/image_captcha/image_captcha.libraries.yml +0 −3
  • modules/image_captcha/js/image_captcha_refresh.js +1 −1
  • src/Element/Captcha.php +15 −0 fix
  • templates/captcha.html.twig +11 −9

Full diff, 8.x-1.16 to 8.x-1.17 · Full diff, 2.0.9 to 2.0.10

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


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.