In apps that keep remember-me tokens in storage, Symfony didn't check that a remember-me cookie belonged to the user it named. Someone holding a valid remember-me token could use it to be logged in as a different user. This is an authentication bypass.

Who is affected

Apps on symfony/security-http (or symfony/symfony) 5.3.0 and later, below 5.4.47, 6.4.15 or 7.1.8 for their branch, that use persistent remember-me tokens. That means a firewall whose remember_me settings include a token_provider, which makes Symfony use PersistentRememberMeHandler. Apps that use the default signature-based remember-me cookies, or no remember-me at all, are not affected.

What to do

Update to 5.4.47, 6.4.15 or 7.1.8. After the fix, PersistentRememberMeHandler checks that the user in the cookie owns the stored token. See Symfony's advisory and the fix.

Reported by Moritz Rauch of Pentryx AG.