Symfony could route a request as if it were for a protected path like /admin when the path was appended straight onto the front controller's name (index.php), with no slash between them. Rules your web server, CDN or WAF enforce on /admin don't match that request, so it gets past them.
The behaviour came in with the fix for CVE-2025-64500, which is why only recent releases are affected. See the Symfony advisory and the fix.
Who is affected
Apps on an affected symfony/http-foundation version that block or restrict paths in front of PHP, for example:
- a
location /adminblock in nginx - a
<Location /admin>section in Apache - a CDN or WAF rule on a path
Rules Symfony enforces itself, access_control and firewalls, are not affected, because they read the same path as the router. If all your access rules live in Symfony, you're not exposed. Symfony rates the issue low.
The affected ranges start at 5.4.50, 6.4.29 and 7.3.7. Earlier releases on those branches don't have the bug.
What to do
Update symfony/http-foundation (or symfony/symfony) to 5.4.56, 6.4.50, 7.4.23 or 8.1.11, depending on your branch. There is no fixed 7.3 release, so apps on 7.3 need to move to 7.4.23.
Reported by Nicolas Grekas, with the fix by Jack Worman.