CVE-2024-50345
Low · 3.1Symfony vulnerable to open redirect via browser-sanitized URLs
CVSS
3.1
EPSS
0.6%
Published
Nov 6, 2024
CISA due date
—
Cloudanix analysis
A web framework component can be tricked into sending visitors to the wrong website, letting attackers impersonate trusted services.
- Exploitation
- Requires User Interaction
- Attacker needs
- None
- Complexity
- Low
- Impact
- Other
- Component
- Library
- Class
- Open Redirect
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The Request class parses URIs containing special characters differently than browsers, allowing crafted inputs to bypass domain validation and trigger redirects to arbitrary external domains.
Why it matters to the business
Attackers can phish users or hijack sessions by sending them to malicious sites that appear to come from a trusted application, eroding user trust and increasing support costs.
How an attack unfolds
An attacker crafts a URI with special characters that a browser normalizes to an external domain; the application validator using the Request class accepts it as internal and issues a redirect, sending the victim to the attacker-controlled site.
How to fix it
Upgrade symfony/security-http to the version containing commit cc13b601fc844036fd6c8e7307845da145d5998b or later; retest all redirect logic after the update.
How to confirm the fix worked
Confirm the installed package version includes commit cc13b601fc844036fd6c8e7307845da145d5998b; test redirect endpoints with URIs containing percent-encoded special characters to verify correct domain enforcement.
Typical attack path
- Identify an endpoint that performs redirects based on Request-derived values
- Craft a URI containing special characters that browsers resolve differently
- Deliver the link via email, chat, or another channel
- Victim follows link; browser and validator disagree on target domain
- Application issues redirect to attacker domain
How to detect it
Search web server and application logs for redirect responses containing domains outside the expected allow-list; correlate with unusual URI patterns containing percent-encoded characters.
What your security team should do
- Immediately upgrade symfony/security-http to the fixed commit
- Review all redirect and URL validation code for similar parsing assumptions
- Add automated tests that compare browser and server URI normalization
- Monitor application logs for unexpected external redirect targets
The record
The `Request` class, does not parse URI with special characters the same way browsers do. As a result, an attacker can trick a validator relying on the `Request` class to redirect users to another domain.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Packagist | symfony/http-foundation | 0 | 5.4.46 |
| Packagist | symfony/http-foundation | 6.0.0 | 6.4.14 |
| Packagist | symfony/http-foundation | 7.0.0 | 7.1.7 |
| Debian:11 | symfony | 0 | No fix |
| Debian:12 | symfony | 0 | No fix |
| Debian:12 | symfony | 0 | 5.4.23+dfsg-1+deb12u3 |
| Debian:13 | symfony | 0 | 6.4.14+dfsg-1 |
| Debian:14 | symfony | 0 | 6.4.14+dfsg-1 |
| Ubuntu:16.04:LTS | 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:20.04:LTS | symfony | 0 | 4.3.8+dfsg-1ubuntu1+esm2 |
| Ubuntu:Pro:22.04:LTS | symfony | 0 | 5.4.4+dfsg-1ubuntu8+esm1 |
| Ubuntu:Pro:24.04:LTS | symfony | 0 | 6.4.5+dfsg-3ubuntu3+esm1 |
| packagist | symfony/http-foundation | 6.0.0 | 6.4.14 |
| packagist | symfony/http-foundation | 7.0.0 | 7.1.7 |
| packagist | symfony/symfony | 6.0.0 | 6.4.14 |
| packagist | symfony/symfony | 7.0.0 | 7.1.7 |
Related vulnerabilities
- CVE-2025-64500 Symfony's incorrect parsing of PATH_INFO can lead to limited authorization bypass Also affects symfony/http-foundation
- CVE-2024-36611 In Symfony v7.07, a security vulnerability was identified in the FormLoginAuthenticator… Also affects symfony
- CVE-2024-51996 Symphony process is a module for the Symphony PHP framework which executes commands in… Also affects symfony
- 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-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