Skip to content
Fencer Vulns
high 8.0

CVE-2020-15094 json

RCE in Symfony

published 2020-09-02 6 y ago modified 2026-07-08 4 mo ago also BIT-symfony-2020-15094 , EUVD-2020-0840 , GHSA-754h-5r27-7x3r

cvss
8.0
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
3.0%
EPSS 3.0% chance of exploitation in 30 days, percentile 87%
public exploits
0
none known

Summary

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.

Patch / fix

  • packagist symfony/http-kernel 4.4.13, 5.1.5
  • packagist symfony/symfony 4.4.13, 5.1.5
  • bitnami symfony 4.4.13, 5.1.5
  • sensiolabs httpclient 4.4.13, 5.1.5
  • sensiolabs symfony 4.4.13, 5.1.5
  • symfony Debian 14, Debian 13, Debian 12 4.4.13+dfsg-1

debian advisories DEBIAN-CVE-2020-15094

Exploit prediction

3.04% chance of exploitation in the next 30 days, higher than 87% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CNA 3.1 8.0 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:H
GitHub 3.1 8.0 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:H
NVD 3.1 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
NVD 2.0 7.5 AV:N/AC:L/Au:N/C:P/I:P/A:P
OSV 3.1 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Affected packages

ecosystem package affected fixed in
packagist symfony/http-kernel
>=4.3.0, <4.4.13
>=5.0.0, <5.1.5
4.4.13
5.1.5
packagist symfony/symfony
>=4.3.0, <4.4.13
>=5.0.0, <5.1.5
4.4.13
5.1.5
bitnami symfony
>=4.4.0, <4.4.13
>=5.1.0, <5.1.5
4.4.13
5.1.5

Affected products

  • symfony symfony

Classification

Weakness
  • CWE-212 Improper Removal of Sensitive Information Before Storage or Transfer

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.