CVE-2026-48784

Symfony: UrlGenerator Dot-Segment Encoding Skips Every Other Chained `../` or `./` → Generated URL Collapses Off-Route Under RFC 3986 Normalization

Published Jul 14, 2026 CVSS 4.0 · 5.1 Medium EPSS < 1% KEV · Not listed
Description
Symfony is a PHP framework for web and console applications and a set of reusable PHP components. Prior to 5.4.53, 6.4.41, 7.4.13, and 8.0.13, UrlGenerator::doGenerate() used strtr() dot-segment encoding that skipped every other chained ../ or ./ segment, allowing attacker-controlled route parameters to generate URLs that collapse to a different path under RFC 3986 normalization. This issue is fixed in versions 5.4.53, 6.4.41, 7.4.13, and 8.0.13.

Analysis

AI-generated

Technical impact

Symfony’s UrlGenerator::doGenerate() performs dot‑segment encoding with an incorrect strtr() routine that skips every other chained '../' or './' segment. As a result, attacker‑controlled route parameters can generate URLs that, after RFC 3986 normalization, collapse to a path that differs from the intended one. This flaw is associated with CWE‑172 (Relative Path Traversal) and CWE‑601 (URL Redirection to Untrusted Site). It does not provide arbitrary code execution.

Affected Systems

Symfony’s Routing component and the core framework are affected. Vulnerable versions are prior to 5.4.53 for Symfony 5, prior to 6.4.41 for Symfony 6, prior to 7.4.13 for Symfony 7, and prior to 8.0.13 for Symfony 8. All earlier releases before those patch versions remain vulnerable.

Risk and Exploitability

The CVSS score of 5.1 positions this vulnerability in the medium severity range. The EPSS score of less than 1% suggests a low probability of exploitation. This vulnerability is not listed in the CISA KEV catalog. Based on the description, it is inferred that an attacker could exploit the flaw by crafting a URL that includes repeated dot‑segments such that UrlGenerator produces a path that resolves to an unintended resource. The likely attack vector is remote via HTTP requests.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Symfony and the Routing component to the fixed releases 5.4.53, 6.4.41, 7.4.13, or 8.0.13.
  • Validate or sanitize route parameters before passing them to UrlGenerator, stripping or rejecting any sequences that could form chained "../" or "./" segments.
  • Configure strict host and path checks on redirects or generated URLs to prevent navigation to unintended internal or external resources.

Generated by OpenCVE AI on August 1, 2026 at 09:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Debian DSA Debian DSA DSA-6312-1 symfony security update
Debian DSA Debian DSA DSA-6317-1 symfony security update
Github GHSA Github GHSA GHSA-h5x3-xfc9-m39h Symfony: UrlGenerator Dot-Segment Encoding Skips Every Other Chained `../` or `./` → Generated URL Collapses Off-Route Under RFC 3986 Normalization
History
Type Values Removed Values Added
First Time appeared Symfony
Symfony routing
Symfony symfony
Vendors & Products Symfony
Symfony routing
Symfony symfony
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description Symfony is a PHP framework for web and console applications and a set of reusable PHP components. Prior to 5.4.53, 6.4.41, 7.4.13, and 8.0.13, UrlGenerator::doGenerate() used strtr() dot-segment encoding that skipped every other chained ../ or ./ segment, allowing attacker-controlled route parameters to generate URLs that collapse to a different path under RFC 3986 normalization. This issue is fixed in versions 5.4.53, 6.4.41, 7.4.13, and 8.0.13.
Title Symfony: UrlGenerator Dot-Segment Encoding Skips Every Other Chained `../` or `./` → Generated URL Collapses Off-Route Under RFC 3986 Normalization
Weaknesses CWE-172
CWE-601
References
Metrics cvssV4_0

{'score': 5.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N'}

Weaknesses
  • CWE-172

    Encoding Error

  • CWE-601

    URL Redirection to Untrusted Site ('Open Redirect')

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Jul 15, 2026, 1:27 PM
Reserved
May 22, 2026, 8:18 PM
Status
Analyzed
Published
Jul 14, 2026, 8:17 PM
Modified
Jul 15, 2026, 2:44 PM