CVE-2026-107843: Contao: The registration module re-sends activation mails on any unauthenticated POST, with no throttle and no captcha check

Published Oct 9, 2026
·
Updated

ModuleRegistration::compile() reaches its follow-up registration branch on any POST to a page carrying the module. That branch checks neither FORMSUBMIT nor the captcha result computed immediately above it, and resendActivationMail() leads to OptInToken::send(), which has no rate limit at all.

Impact

Anyone on the internet can make a Contao installation send unlimited mail to an address of their choosing, from the site's own sender and reputation, at one outbound message per HTTP request. That is both a nuisance for the recipient and a deliverability risk for the site operator. The same request is a reliable account oracle for "this address has a pending registration on this site", which is exactly the sort of membership fact a public site is usually expected not to disclose.

Honest bound. The target must have an unconfirmed registration, that is tlmember.disable = 1 together with an unconfirmed reg- opt-in token. An attacker can create that state for an arbitrary address, since registration requires no ownership proof, but on a site where regactivate is off the branch is unreachable.

Other sources

Contao is an Open Source CMS. From version 4.1.0 until 5.3.50 and 5.7.12, ModuleRegistration::compile() enters its follow-up registration branch on any POST to a page containing the registration module without verifying FORMSUBMIT or the preceding captcha result. resendActivationMail() can then invoke OptInToken::send() without rate limiting, allowing an unauthenticated attacker to cause repeated activation emails to be sent to an address with a pending registration and to determine whether that pending registration exists. The branch is reachable only when regactivate is enabled and the target has an unconfirmed registration and opt-in token. This issue is fixed in versions 5.3.50 and 5.7.12.

— MITRE

Affected Software

3 affected componentsFixes available
Contao Contao>=4.1.0<5.3.50, >=5.4.0<5.7.12
composer/contao/core-bundle>=5.4.0-RC1<5.7.12
5.7.12
composer/contao/core-bundle>=4.1.0<5.3.50
5.3.50

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade composer/contao/core-bundle to a version that resolves this vulnerability.

    Fixed in 5.7.12
  2. Upgrade

    Upgrade composer/contao/core-bundle to a version that resolves this vulnerability.

    Fixed in 5.3.50
  3. Upgrade

    Upgrade Contao to a version that resolves this vulnerability.

    Fixed in 5.3.50
  4. Upgrade

    Upgrade Contao to a version that resolves this vulnerability.

    Fixed in 5.7.12

Event History

Oct 9, 2026
CVE Published
via MITRE·07:21 PM
Data Sourced
via MITRE·07:21 PM
DescriptionSeverityWeakness
Advisory Published
via GitHub·08:54 PM
Data Sourced
via GitHub·08:54 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Which deployments are exposed to repeated activation-email sends?

A page must contain the registration module with reg_activate enabled. The targeted email address must have an unconfirmed registration and an associated opt-in token; confirmed registrations are not described as reachable through this branch.

2

What does an attacker need to exploit this?

No authentication, user interaction, captcha completion, or valid FORM_SUBMIT value is required. An attacker can send POST requests to a page containing the registration module to trigger the follow-up registration branch.

3

What is the practical impact?

An attacker can repeatedly cause activation emails to be sent to an address with a pending registration because the resend operation has no rate limiting. The behavior can also reveal whether a pending registration exists for a target address.

4

Which versions contain the fix?

The issue is fixed in Contao 5.3.50 and 5.7.12. The affected range is stated as versions from 4.1.0 until those fixed releases.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203