Symfony has an Authentication Bypass via RememberMe
Impact
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.
Source excerpt · OSVAffected packages
Start with the recorded fix for your release branch. Check your installed version and test compatibility before upgrading. Fixing this advisory does not rule out other vulnerabilities in the release.
| Affected range | Recorded fix |
|---|---|
| From 5.3.0 before 5.4.47Ecosystem versions | 5.4.47 |
| From 6.0.0-BETA1 before 6.4.15Ecosystem versions | 6.4.15 |
| From 7.0.0-BETA1 before 7.1.8Ecosystem versions | 7.1.8 |
Version evidence: OSV · GHSA-cg23-qf8f-62rr
View original version evidence (137 explicit versions)
Original source description
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.
References
- Security advisory github.com/symfony/symfony/security/advisories/GHSA-cg23-qf8f-62rr
- Security advisory nvd.nist.gov/vuln/detail/CVE-2024-51996
- Patch github.com/symfony/symfony/commit/81354d392c5f0b7a52bcbd729d6f82501e94135a
- Security advisory github.com/FriendsOfPHP/security-advisories/blob/master/symfony/security-http/CVE-2024-51996.yaml
- Security advisory github.com/FriendsOfPHP/security-advisories/blob/master/symfony/symfony/CVE-2024-51996.yaml
- Source reference github.com/symfony/symfony
- Security advisory symfony.com/cve-2024-51996