[9.x] Prevent double sanitized key in RateLimiter@tooManyAttempts
#42462
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue with RateLimiter with key containing
'
.Calling
$rateLimiter->hit($key)
with key likejohn'doe
. Will use$this->cleanRateLimiterKey($key)
insideRateLimiter
, which isjohn'doe
.Then
$rateLimiter->tooManyAttempts($key, 1)
was calling$key = $this->cleanRateLimiterKey($key)
and then passing cleaned key to the$rateLimiter->attempts($key)
which cleaned the key again and returnedjohna#039;doe
.So it was changing the key from
john'doe
tojohna#039;doe
.&
toa