Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| symfony | symfony | >= 4.4.0, < 4.4.13, >= 5.0.0, < 5.1.5 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | symfony | 4.4.13+dfsg-1 | — |
| Debian 13 | symfony | 4.4.13+dfsg-1 | — |
| Debian 12 | symfony | 4.4.13+dfsg-1 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Packagist | symfony/http-kernel | >= 4.3.0, < 4.4.13 | 4.4.13 | GHSA-754h-5r27-7x3r |
| Packagist | symfony/http-kernel | >= 5.0.0, < 5.1.5 | 5.1.5 | GHSA-754h-5r27-7x3r |
| Packagist | symfony/symfony | >= 4.3.0, < 4.4.13 | 4.4.13 | GHSA-754h-5r27-7x3r |
| Packagist | symfony/symfony | >= 5.0.0, < 5.1.5 | 5.1.5 | GHSA-754h-5r27-7x3r |
References
- https://github.com/symfony/symfony/security/advisories/GHSA-754h-5r27-7x3r
- https://github.com/symfony/symfony/commit/d9910e0b33a2e0f993abff41c6fbc86951b66d78
- https://packagist.org/packages/symfony/symfony
- https://packagist.org/packages/symfony/http-kernel
- FEDORA-2020-16eb328853 vendor-advisory
- FEDORA-2020-1c549262f1 vendor-advisory