CVE-2024-51996
High · 7.5CVSS
7.5
EPSS
0.6%
Published
Nov 13, 2024
CISA due date
—
Cloudanix analysis
A login feature in Symfony applications could let attackers sign in as other users by exploiting a missing check on saved login cookies.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Privilege Gain
- Component
- Web Framework
- Class
- Authentication Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Authentication bypass in remember-me cookie handling where the persisted username in the database is not validated against the username in the cookie before granting access.
Why it matters to the business
Attackers can gain unauthorized access to user accounts across Symfony-based applications, increasing risk of data exposure or account takeover in environments using remember-me functionality.
How an attack unfolds
An attacker obtains or crafts a remember-me cookie containing a username, submits it to the application, and the missing username match check allows authentication as a different user than the one stored in the database.
How to fix it
Upgrade Symfony to version 5.4.47, 6.4.15, or 7.1.8. Apply the fix from commit d869cc180cf38d3848feff1dcf38fefaecfd8177 in the symfony/symfony repository.
How to confirm the fix worked
Verify the installed Symfony version matches a fixed release, review authentication configuration for remember-me usage, and test cookie consumption with mismatched usernames in a staging environment.
Typical attack path
- Obtain or craft a remember-me cookie with a target username
- Submit the cookie to the Symfony application's authentication endpoint
- Bypass normal username validation due to missing database match check
- Gain authenticated session as the target user
How to detect it
Review application authentication logs for remember-me cookie usage, correlate with database user records for mismatches, and inspect session creation events around the time of potential exploitation.
What your security team should do
- Prioritize upgrade to a fixed Symfony version in all affected applications
- Audit remember-me cookie usage and consider disabling the feature if not required
- Monitor authentication logs for anomalous login patterns after patching
The record
Symphony process is a module for the Symphony PHP framework which executes commands in sub-processes. 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. This vulnerability is fixed in 5.4.47, 6.4.15, and 7.1.8.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Packagist | symfony/security-http | 5.3.0 | 5.4.47 |
| Packagist | symfony/security-http | 6.0.0-BETA1 | 6.4.15 |
| Packagist | symfony/security-http | 7.0.0-BETA1 | 7.1.8 |
| Debian:11 | symfony | 0 | No fix |
| Debian:12 | symfony | 0 | 5.4.23+dfsg-1+deb12u4 |
| Debian:13 | symfony | 0 | No fix |
| Ubuntu:20.04:LTS | symfony | 0 | No fix |
| Ubuntu:22.04:LTS | symfony | 0 | No fix |
| Ubuntu:24.04:LTS | symfony | 0 | No fix |
| Ubuntu:24.10 | symfony | 0 | No fix |
| Ubuntu:25.04 | symfony | 0 | No fix |
| Ubuntu:25.10 | symfony | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | symfony | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | symfony | 0 | No fix |
| Ubuntu:Pro:24.04:LTS | symfony | 0 | 6.4.5+dfsg-3ubuntu3+esm1 |
| packagist | symfony/security-http | 5.3.0 | 5.4.47 |
| packagist | symfony/security-http | 6.0.0-BETA1 | 6.4.15 |
| packagist | symfony/security-http | 7.0.0-BETA1 | 7.1.8 |
Related vulnerabilities
- CVE-2024-36611 In Symfony v7.07, a security vulnerability was identified in the FormLoginAuthenticator… Also affects symfony/security-http
- CVE-2024-50343 symfony/validator is a module for the Symphony PHP framework which provides tools to… Also affects symfony
- CVE-2024-50340 symfony/runtime is a module for the Symphony PHP framework which enables decoupling PHP… Also affects symfony
- CVE-2024-50342 Symfony allows internal address and port enumeration by NoPrivateNetworkHttpClient Also affects symfony
- CVE-2024-50345 Symfony vulnerable to open redirect via browser-sanitized URLs Also affects symfony
- CVE-2008-7220 Unspecified vulnerability in Prototype JavaScript framework (prototypejs) before 1.6.0.2… Also affects symfony
- CVE-2024-50341 symfony/security-bundle is a module for the Symphony PHP framework which provides a tight… Also affects symfony
- CVE-2024-36610 Withdrawn Advisory: Symfony's VarDumper vulnerable to unsafe deserialization Also affects symfony