medium6.4
CVE-2012-6431
Symfony Allows URI Restrictions Bypass Via Double-Encoded String
Impact
On the Symfony 2.0.x version, there's a security issue that allows access to routes protected by a firewall even when the user is not logged in. Both the Routing component and the Security component uses the path returned by `getPathInfo()` to match a Request. The `getPathInfo()` returns a decoded path, but the Routing component (`Symfony\Component\Routing\Matcher\UrlMatcher`) decodes the path a second time; whereas the Security component, `Symfony\Component\HttpFoundation\RequestMatcher`, does not. This difference causes Symfony 2.0 to be vulnerable to double encoding attacks.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| composer | symfony/http-foundation | >= 2.0.0, < 2.0.19 | 2.0.19 |
| composer | symfony/routing | >= 2.0.0, < 2.0.19 | 2.0.19 |
| composer | symfony/security | >= 2.0.0, < 2.0.19 | 2.0.19 |
| composer | symfony/symfony | >= 2.0.0, < 2.0.19 | 2.0.19 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Sensiolabs | Symfony | Versions 2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- http://symfony.com/blog/security-release-symfony-2-0-20-and-2-1-5-released
- https://github.com/advisories/GHSA-83c3-qx27-2rwr
- https://nvd.nist.gov/vuln/detail/CVE-2012-6431
- https://github.com/symfony/symfony/commit/55014a6841bec50046e8329a4835c160ac31a496
- https://github.com/symfony/symfony/commit/8b2c17f80377582287a78e0b521497e039dd6b0d
- https://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/http-foundation/CVE-2012-6431.yaml
- https://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/routing/CVE-2012-6431.yaml
- https://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/security/CVE-2012-6431.yaml
- https://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/symfony/CVE-2012-6431.yaml
- https://symfony.com/blog/security-release-symfony-2-0-20-and-2-1-5-released