Symfony has an Authentication Bypass via RememberMe
Published 13 Nov 2024 · Updated 15 Nov 2024
Affected packages
- Affected
- >=5.3.0 <5.4.47
- Fixed in
- 5.4.47
composer require symfony/security-http:^5.4.47- Affected
- >=6.0.0-BETA1 <6.4.15
- Fixed in
- 6.4.15
composer require symfony/security-http:^6.4.15- Affected
- >=7.0.0-BETA1 <7.1.8
- Fixed in
- 7.1.8
composer require symfony/security-http:^7.1.8Details
Description
When consuming a persisted remember-me cookie, Symfony does not check if the username persisted in the database matches the username attached with the cookie, leading to authentication bypass.
Resolution
The PersistentRememberMeHandler class now ensures the submitted username is the cookie owner.
The patch for this issue is available here for branch 5.4.
Credits
We would like to thank Moritz Rauch - Pentryx AG for reporting the issue and Jérémy Derussé for providing the fix.
Is GHSA-cg23-qf8f-62rr in any of your client repos?
Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected symfony/security-http, and gives you the command that fixes it.
References
- Linkgithub.com/symfony/symfony/security/advisories/GHSA-cg23-qf8f-62rr
- Advisorynvd.nist.gov/vuln/detail/CVE-2024-51996
- Linkgithub.com/symfony/symfony/commit/81354d392c5f0b7a52bcbd729d6f82501e94135a
- Linkgithub.com/FriendsOfPHP/security-advisories/blob/master/symfony/security-http/CVE-2024-51996.yaml
- Linkgithub.com/FriendsOfPHP/security-advisories/blob/master/symfony/symfony/CVE-2024-51996.yaml
- Packagegithub.com/symfony/symfony
- Linksymfony.com/cve-2024-51996
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.