Quick answers
- Is CVE-2026-48784 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-48784 being exploited in the wild.
- How severe is CVE-2026-48784?
- Medium severity, with a CVSS score of 4, published 14 July 2026.
- Which products and versions are affected?
- symfony/routing (Packagist) ECOSYSTEM:introduced=0,fixed=5.4.53; symfony/symfony (Packagist) ECOSYSTEM:introduced=0,fixed=5.4.53; Symfony Routing < 5.4.53, >= 6.0.0 < 6.4.41, >= 7.0.0 < 7.4.13, >= 8.0.0 < 8.0.13; Symfony Routing Component < 5.4.53, >= 6.0.0-BETA1 < 6.4.41, >= 7.0.0-BETA1 < 7.4.13, >= 8.0.0-BETA1 < 8.0.13.
- Is there a fix for CVE-2026-48784?
- Yes. symfony/routing (Packagist): upgrade to 5.4.53 or later; symfony/symfony (Packagist): upgrade to 5.4.53 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2026-48784 attacked?
- It is attacked over the network, in a software library.
- Am I affected by CVE-2026-48784?
- Check whether you run symfony/routing (Packagist), symfony/symfony (Packagist), Symfony Routing or one of the others listed at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- symfony/routing (Packagist): upgrade to 5.4.53 or later
composer require symfony/routing:^5.4.53 - symfony/symfony (Packagist): upgrade to 5.4.53 or later
composer require symfony/symfony:^5.4.53
Technical details
A vulnerability exists in Symfony's UrlGenerator::doGenerate() method due to an improper implementation of dot-segment encoding. The component used strtr() to percent-encode '.' and '..' segments to prevent path traversal during RFC 3986 normalization; however, because strtr() advances past the trailing slash of a match, it skipped every other segment in a chained sequence (e.g., '/../../'). If a route uses permissive requirements (like .+ or .*) for parameters, an attacker can provide chained dot-segments that result in a generated URL collapsing to a different path than the intended route. This can lead to open redirects or path confusion when processed by strict RFC 3986 consumers like reverse proxies or browsers. The issue is fixed in versions 5.4.53, 6.4.41, 7.4.13, and 8.0.13.
Affected products
- Symfony symfony/symfony < 5.4.53, >= 6.0.0-BETA1 < 6.4.41, >= 7.0.0-BETA1 < 7.4.13, >= 8.0.0-BETA1 < 8.0.13
- Symfony symfony/routing < 5.4.53, >= 6.0.0-BETA1 < 6.4.41, >= 7.0.0-BETA1 < 7.4.13, >= 8.0.0-BETA1 < 8.0.13
Identifiers
- CVE-2026-48784
- GHSA-h5x3-xfc9-m39h
Timeline
- 2026-05-27: patched: Fixes released in multiple branches
- 2026-05-27: advisory: GitHub Security Advisory GHSA-h5x3-xfc9-m39h published
- 2026-07-14: disclosed: CVE-2026-48784 published to NVD
References
- https://github.com/symfony/symfony/commit/4b63c3a3f7af04ecd79c89a594b0b02a01990b1d
- https://github.com/symfony/symfony/releases/tag/v5.4.53
- https://github.com/symfony/symfony/releases/tag/v6.4.41
- https://github.com/symfony/symfony/releases/tag/v7.4.13
- https://github.com/symfony/symfony/security/advisories/GHSA-h5x3-xfc9-m39h