// For flags

CVE-2020-15094

RCE in Symfony

Severity Score

8.8
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

0
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

-
*SSVC
Descriptions

In Symfony before versions 4.4.13 and 5.1.5, the CachingHttpClient class from the HttpClient Symfony component relies on the HttpCache class to handle requests. HttpCache uses internal headers like X-Body-Eval and X-Body-File to control the restoration of cached responses. The class was initially written with surrogate caching and ESI support in mind (all HTTP calls come from a trusted backend in that scenario). But when used by CachingHttpClient and if an attacker can control the response for a request being made by the CachingHttpClient, remote code execution is possible. This has been fixed in versions 4.4.13 and 5.1.5.

En Symfony versiones anteriores a 4.4.13 y 5.1.5, la clase CachingHttpClient del componente HttpClient Symfony se basa en la clase HttpCache para manejar las peticiones. HttpCache utiliza encabezados internos como X-Body-Eval y X-Body-File para controlar la restauración de las respuestas almacenadas en caché. La clase fue inicialmente escrita teniendo en cuenta el almacenamiento en caché sustituto y la compatibilidad con ESI (todas las llamadas HTTP provienen de un backend confiable en ese escenario). Pero cuando es usado por CachingHttpClient y si un atacante puede controlar la respuesta para una petición siendo hecha por CachingHttpClient, es posible una ejecución de código remota. Esto ha sido corregido en las versiones 4.4.13 y 5.1.5

*Credits: N/A
CVSS Scores
Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
Attack Vector
Network
Attack Complexity
High
Privileges Required
Low
User Interaction
Required
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High
Attack Vector
Network
Attack Complexity
Low
Authentication
None
Confidentiality
Partial
Integrity
Partial
Availability
Partial
* Common Vulnerability Scoring System
SSVC
  • Decision:-
Exploitation
-
Automatable
-
Tech. Impact
-
* Organization's Worst-case Scenario
Timeline
  • 2020-06-25 CVE Reserved
  • 2020-09-02 CVE Published
  • 2023-11-08 EPSS Updated
  • 2024-08-04 CVE Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
  • CWE-212: Improper Removal of Sensitive Information Before Storage or Transfer
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Sensiolabs
Search vendor "Sensiolabs"
Httpclient
Search vendor "Sensiolabs" for product "Httpclient"
>= 4.4.0 < 4.4.13
Search vendor "Sensiolabs" for product "Httpclient" and version " >= 4.4.0 < 4.4.13"
-
Affected
Sensiolabs
Search vendor "Sensiolabs"
Httpclient
Search vendor "Sensiolabs" for product "Httpclient"
>= 5.1.0 < 5.1.5
Search vendor "Sensiolabs" for product "Httpclient" and version " >= 5.1.0 < 5.1.5"
-
Affected
Sensiolabs
Search vendor "Sensiolabs"
Symfony
Search vendor "Sensiolabs" for product "Symfony"
>= 4.4.0 < 4.4.13
Search vendor "Sensiolabs" for product "Symfony" and version " >= 4.4.0 < 4.4.13"
-
Affected
Sensiolabs
Search vendor "Sensiolabs"
Symfony
Search vendor "Sensiolabs" for product "Symfony"
>= 5.1.0 < 5.1.5
Search vendor "Sensiolabs" for product "Symfony" and version " >= 5.1.0 < 5.1.5"
-
Affected
Fedoraproject
Search vendor "Fedoraproject"
Fedora
Search vendor "Fedoraproject" for product "Fedora"
32
Search vendor "Fedoraproject" for product "Fedora" and version "32"
-
Affected
Fedoraproject
Search vendor "Fedoraproject"
Fedora
Search vendor "Fedoraproject" for product "Fedora"
33
Search vendor "Fedoraproject" for product "Fedora" and version "33"
-
Affected