medium CVSS 6.1

CVE-2026-48784·PHP vulnerability

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.

Severity
medium
Software
PHP
Fixed in
8.0.13
Published
2026-07-14

Affected versions

From: 8.0.0

Until: 8.0.13

Fixed in: 8.0.13

How to fix this CVE

Update Symfony to version 8.0.13 or later to resolve a URL generation flaw in the UrlGenerator component. This vulnerability allows attackers to craft malicious route parameters that bypass path normalization, potentially leading to unintended access to application resources. Immediately patch your PHP installation and verify that all Symfony dependencies are at the minimum fixed versions.

sudo dnf update php && composer update symfony/routing:^8.0.13

Defensia detects this vulnerability

What an exploitation attempt looks like

Sample log line indicative of exploitation attempts:

(?:/{2,}|\.\.?/){2,}|(?:%2e%2e|\.\.)?(?:%2f|/)(?:%2e%2e|\.\.)|(?:%2e%2e%2f)+|(?:\./)+\.\.(?:/|$)

WAF mitigation (if patching is not yet possible)

Add this rule to your WAF to block exploitation attempts while you schedule the patch.

Implement URL parameter validation rules to reject requests containing path traversal sequences (../, ./, encoded variants like %2e%2e%2f). Block any route parameters that contain consecutive dots or dot-segments that would normalize to parent directory paths.

How to check if you are affected

  1. Run `php -v` to check your installed PHP version and verify Symfony framework version with `composer show symfony/routing`
  2. Review your application's routing configuration and identify any routes accepting user-controlled parameters that are used in URL generation
  3. Search application logs for requests containing sequences like `../../` or `././` in URL parameters or generated URLs
  4. After updating, re-run `composer show symfony/routing` to confirm the package version is 8.0.13 or higher

FAQ

What is CVE-2026-48784?

This vulnerability affects Symfony's URL generation logic, which improperly handles dot-segment encoding in route parameters. An attacker can supply crafted parameters that cause generated URLs to resolve to unintended application paths after RFC 3986 normalization, potentially exposing sensitive functionality.

Is CVE-2026-48784 being actively exploited?

No, CVE-2026-48784 is not listed in CISA's Known Exploited Vulnerabilities catalog and no public exploits are currently available, though exploitation is theoretically feasible.

What versions of PHP are affected by CVE-2026-48784?

Symfony versions 8.0.0 through 8.0.12 are vulnerable. Earlier affected versions include 5.4.0–5.4.52, 6.4.0–6.4.40, and 7.4.0–7.4.12. The vulnerability resides in the Symfony framework, not PHP itself.

How do I check if my server is vulnerable to CVE-2026-48784?

Run `composer show symfony/routing` to check the version. If it is below 8.0.13 (or 7.4.13, 6.4.41, 5.4.53 for older branches), your installation is vulnerable.

Does Defensia detect CVE-2026-48784?

Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Symfony is installed on a monitored server, CVE-2026-48784 will appear in your dashboard with remediation steps.

Related PHP CVEs

CVE-2026-28289CVSS 10FreeScout is a free help desk and shared inbox built with PHP's Laravel framework. A patch bypass vulnerability for CVE-2026-27636 in FreeScout 1.8.206 and earlier allows any authenticated user with file upload permissions to achieve Remote Code Execution (RCE) on the server by uploading a malicious .htaccess file using a zero-width space character prefix to bypass the security check. The vulnerability exists in the sanitizeUploadedFileName() function in app/Http/Helper.php. The function contains a Time-of-Check to Time-of-Use (TOCTOU) flaw where the dot-prefix check occurs before sanitization removes invisible characters. This vulnerability is fixed in 1.8.207.
CVE-2025-47916CVSS 10Invision Community 5.0.0 before 5.0.7 allows remote code execution via crafted template strings to themeeditor.php. The issue lies within the themeeditor controller (file: /applications/core/modules/front/system/themeeditor.php), where a protected method named customCss can be invoked by unauthenticated users. This method passes the value of the content parameter to the Theme::makeProcessFunction() method; hence it is evaluated by the template engine. Accordingly, this can be exploited by unauthenticated attackers to inject and execute arbitrary PHP code by providing crafted template strings.
CVE-2024-5932CVSS 10The GiveWP – Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and including, 3.14.1 via deserialization of untrusted input from the 'give_title' parameter. This makes it possible for unauthenticated attackers to inject a PHP Object. The additional presence of a POP chain allows attackers to execute code remotely, and to delete arbitrary files.
CVE-2025-25174CVSS 10Improper Control of Filename for Include/Require Statement in PHP Program ('PHP Remote File Inclusion') vulnerability in beeteam368 BeeTeam368 Extensions beeteam368-extensions allows PHP Local File Inclusion.This issue affects BeeTeam368 Extensions: from n/a through <= 1.9.4.
CVE-2025-46348CVSS 10YesWiki is a wiki system written in PHP. Prior to version 4.5.4, the request to commence a site backup can be performed and downloaded without authentication. The archives are created with a predictable filename, so a malicious user could create and download an archive without being authenticated. This could result in a malicious attacker making numerous requests to create archives and fill up the file system, or by downloading the archive which contains sensitive site information. This issue has been patched in version 4.5.4.

References

Track CVEs across your fleet automatically

Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2026-48784. Free for 1 server.

Get started free