VYPR
High severityNVD Advisory· Published Nov 12, 2025· Updated Nov 13, 2025

Symfony's incorrect parsing of PATH_INFO can lead to limited authorization bypass

CVE-2025-64500

Description

Symfony is a PHP framework for web and console applications and a set of reusable PHP components. Symfony's HttpFoundation component defines an object-oriented layer for the HTTP specification. Starting in version 2.0.0 and prior to version 5.4.50, 6.4.29, and 7.3.7, the Request class improperly interprets some PATH_INFO in a way that leads to representing some URLs with a path that doesn't start with a /. This can allow bypassing some access control rules that are built with this /-prefix assumption. Starting in versions 5.4.50, 6.4.29, and 7.3.7, the Request class now ensures that URL paths always start with a /.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
symfony/http-foundationPackagist
< 5.4.505.4.50
symfony/http-foundationPackagist
>= 6.0.0, < 6.4.296.4.29
symfony/http-foundationPackagist
>= 7.0.0, < 7.3.77.3.7
symfony/symfonyPackagist
>= 2.0.0, < 5.4.505.4.50
symfony/symfonyPackagist
>= 6.0.0, < 6.4.296.4.29
symfony/symfonyPackagist
>= 7.0.0, < 7.3.77.3.7

Affected products

1

Patches

1
9962b91b12bb

[HttpFoundation] Fix parsing pathinfo with no leading slash

https://github.com/symfony/symfonyNicolas GrekasOct 31, 2025via ghsa
2 files changed · +12 3
  • src/Symfony/Component/HttpFoundation/Request.php+2 3 modified
    @@ -1983,9 +1983,8 @@ protected function preparePathInfo()
             }
     
             $pathInfo = substr($requestUri, \strlen($baseUrl));
    -        if (false === $pathInfo || '' === $pathInfo) {
    -            // If substr() returns false then PATH_INFO is set to an empty string
    -            return '/';
    +        if (false === $pathInfo || '' === $pathInfo || '/' !== $pathInfo[0]) {
    +            return '/'.$pathInfo;
             }
     
             return $pathInfo;
    
  • src/Symfony/Component/HttpFoundation/Tests/RequestTest.php+10 0 modified
    @@ -1876,6 +1876,16 @@ public static function getBaseUrlData()
                     '',
                     '/foo/api/bar',
                 ],
    +            [
    +                '/api/index.phpfoo',
    +                [
    +                    'SCRIPT_FILENAME' => '/var/www/api/index.php',
    +                    'SCRIPT_NAME' => '/api/index.php',
    +                    'PHP_SELF' => '/api/index.php',
    +                ],
    +                '/api/index.php',
    +                '/foo',
    +            ],
             ];
         }
     
    

Vulnerability mechanics

Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

7

News mentions

0

No linked articles in our index yet.