CVE-2025-64500

7.3 HIGH

📋 TL;DR

This vulnerability in Symfony's HttpFoundation component allows attackers to bypass access control rules by manipulating URL paths that don't start with a forward slash. It affects Symfony applications using the Request class for authorization checks. All Symfony applications from version 2.0.0 up to (but not including) 5.4.50, 6.4.29, and 7.3.7 are vulnerable.

💻 Affected Systems

Products:
  • Symfony
  • Symfony HttpFoundation component
Versions: 2.0.0 to 5.4.49, 6.0.0 to 6.4.28, 7.0.0 to 7.3.6
Operating Systems: All operating systems running PHP
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects applications using Symfony's Request class for path-based access control. Applications using other authorization methods may not be vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete authorization bypass allowing unauthorized access to protected resources, administrative functions, or sensitive data.

🟠

Likely Case

Limited authorization bypass affecting specific endpoints where access control relies on path prefix checks.

🟢

If Mitigated

Minimal impact if applications implement additional security layers beyond path-based authorization.

🌐 Internet-Facing: HIGH - Web applications are directly exposed to HTTP requests that can exploit this vulnerability.
🏢 Internal Only: MEDIUM - Internal applications may still be vulnerable but have reduced attack surface.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires crafting HTTP requests with specific PATH_INFO values. No authentication needed if vulnerable endpoints are publicly accessible.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 5.4.50, 6.4.29, or 7.3.7

Vendor Advisory: https://symfony.com/blog/cve-2025-64500-incorrect-parsing-of-path-info-can-lead-to-limited-authorization-bypass

Restart Required: No

Instructions:

1. Update Symfony using Composer: composer require symfony/http-foundation:^5.4.50 (or appropriate version). 2. Run composer update. 3. Clear cache: php bin/console cache:clear. 4. Test application functionality.

🔧 Temporary Workarounds

Custom Request Path Normalization

all

Add middleware to normalize all request paths to start with forward slash before authorization checks.

Create custom middleware that modifies $request->getPathInfo() to ensure it starts with '/'

🧯 If You Can't Patch

  • Implement additional authorization checks that don't rely solely on path prefixes
  • Use web application firewall (WAF) rules to block requests with malformed PATH_INFO

🔍 How to Verify

Check if Vulnerable:

Check composer.json or composer.lock for Symfony version. If using Symfony 2.0.0-5.4.49, 6.0.0-6.4.28, or 7.0.0-7.3.6, you are vulnerable.

Check Version:

composer show symfony/http-foundation | grep versions

Verify Fix Applied:

After update, verify version is 5.4.50+, 6.4.29+, or 7.3.7+. Test authorization endpoints with crafted paths.

📡 Detection & Monitoring

Log Indicators:

  • HTTP requests with unusual PATH_INFO values
  • Access attempts to protected resources with non-standard paths

Network Indicators:

  • HTTP requests where path doesn't start with forward slash but accesses protected resources

SIEM Query:

web_access_logs WHERE (url_path NOT LIKE '/%' AND response_code = 200 AND uri CONTAINS protected_resource)

🔗 References

📤 Share & Export