CVE-2018-14773 in Symfonyinfo

Summary

by MITRE

An issue was discovered in Http Foundation in Symfony 2.7.0 through 2.7.48, 2.8.0 through 2.8.43, 3.3.0 through 3.3.17, 3.4.0 through 3.4.13, 4.0.0 through 4.0.13, and 4.1.0 through 4.1.2. It arises from support for a (legacy) IIS header that lets users override the path in the request URL via the X-Original-URL or X-Rewrite-URL HTTP request header. These headers are designed for IIS support, but it's not verified that the server is in fact running IIS, which means anybody who can send these requests to an application can trigger this. This affects \Symfony\Component\HttpFoundation\Request::prepareRequestUri() where X-Original-URL and X_REWRITE_URL are both used. The fix drops support for these methods so that they cannot be used as attack vectors such as web cache poisoning.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Analysis

by VulDB Data Team • 04/29/2023

This vulnerability exists in the Symfony Http Foundation component across multiple versions and represents a significant security flaw that enables unauthorized path manipulation in web applications. The issue stems from the component's legacy support for IIS-specific HTTP headers including X-Original-URL and X-Rewrite-URL which were designed to handle URL rewriting in Microsoft Internet Information Services environments. The vulnerability occurs because the Symfony Request class does not verify that the server is actually running IIS before processing these headers, creating an opportunity for attackers to manipulate request paths through crafted HTTP requests.

The technical implementation of this flaw occurs within the \Symfony\Component\HttpFoundation\Request::prepareRequestUri() method where the application processes these headers without proper server validation. When these headers are present in incoming requests, the Symfony component automatically uses their values to construct the request URI, effectively allowing attackers to override the intended path of the request. This behavior creates a path traversal vulnerability that can be exploited to bypass security controls, manipulate application logic, and potentially enable web cache poisoning attacks.

The operational impact of this vulnerability is substantial as it allows attackers to manipulate the application's request handling mechanism without requiring authentication or authorization. Attackers can craft malicious requests containing these headers to redirect application logic, access restricted resources, or perform path manipulation that could lead to further exploitation. The vulnerability affects a wide range of Symfony versions including 2.7.x through 2.7.48, 2.8.x through 2.8.43, 3.3.x through 3.3.17, 3.4.x through 3.4.13, 4.0.x through 4.0.13, and 4.1.x through 4.1.2, making it a widespread concern for organizations using affected Symfony installations. This vulnerability aligns with CWE-200, which addresses improper exposure of sensitive information, and represents a form of path traversal that can be categorized under ATT&CK technique T1059.007 for command and scripting interpreter.

The security implications extend beyond simple path manipulation as this vulnerability can enable more sophisticated attacks including web cache poisoning where maliciously crafted requests could be cached and served to other users. The fix implemented by the Symfony team addresses this by dropping support for these legacy IIS headers entirely, eliminating the attack vector. This remediation approach aligns with security best practices of minimizing attack surface by removing unnecessary legacy functionality that could be exploited. Organizations should immediately upgrade to patched versions of Symfony to address this vulnerability, as the removal of these headers represents a necessary security hardening measure that prevents unauthorized path manipulation attacks while maintaining application functionality through proper HTTP request handling mechanisms.

Reservation

07/31/2018

Disclosure

08/03/2018

Moderation

accepted

CPE

ready

EPSS

0.16652

KEV

no

Activities

very low

Sources

Want to stay up to date on a daily basis?

Enable the mail alert feature now!