Problem/Motivation

Drupal core has a rate limiting / flood control vulnerability in 2 password reset routes:
* user.pass.http
* user.reset.login

It was decided by the Drupal security team that this can be posted a public security improvement and does not need a private security issue.

Steps to reproduce

An attacker can trigger thousands of emails being sent out for password reset purposes. They never get rate limited per email address.

Proposed resolution

Implement flood control so that only 5 password reset emails can get triggered per hour.

Remaining tasks

Implement proposal in merge request.

Decide if we should show a new error message to the user or silently skip email sending. Silently skipping would have the advantage that an attacker cannot easily know the rate limit. On the other hand for testing it can be very confusing if there is a success message but no email is sent.

User interface changes

Maybe: a new error message string when the user has exceeded the rate limit

Introduced terminology

none?

API changes

none

Data model changes

none

Release notes snippet

to be done

Comments

klausi created an issue.