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.
| Software | From | Fixed in |
|---|---|---|
| sensiolabs / httpclient | 5.1.0 | 5.1.5 |
| sensiolabs / httpclient | 4.4.0 | 4.4.13 |
| sensiolabs / symfony | 4.4.0 | 4.4.13 |
| sensiolabs / symfony | 5.1.0 | 5.1.5 |
| fedoraproject / fedora | 32 | 32.x |
| fedoraproject / fedora | 33 | 33.x |
symfony / http-kernel
|
4.3.0 | 4.4.13 |
symfony / http-kernel
|
5.0.0 | 5.1.5 |
symfony / symfony
|
4.3.0 | 4.4.13 |
symfony / symfony
|
5.0.0 | 5.1.5 |