{"id":"GHSA-q3j3-w37x-hq2q","summary":"Webcache Poisoning in symfony/http-kernel","details":"Description\n-----------\n\nWhen a Symfony application is running behind a proxy or a load-balancer, you can tell Symfony to look for the `X-Forwarded-*` HTTP headers. HTTP headers that are not part of the \"trusted_headers\" allowed list are ignored and protect you from \"Cache poisoning\" attacks. \n\nIn Symfony 5.2, we've added support for the `X-Forwarded-Prefix` header, but this header was accessible in sub-requests, even if it was not part of the \"trusted_headers\" allowed list. An attacker could leverage this opportunity to forge requests containing a `X-Forwarded-Prefix` HTTP header, leading to a web cache poisoning issue.\n\nResolution\n----------\n\nSymfony now ensures that the `X-Forwarded-Prefix` HTTP header is not forwarded to sub-requests when it is not trusted.\n\nThe patch for this issue is available [here](https://github.com/symfony/symfony/commit/95dcf51682029e89450aee86267e3d553aa7c487) for branch 5.3.\n\nCredits\n-------\n\nWe would like to thank Soner Sayakci for reporting the issue and Jérémy Derussé for fixing the issue.\n","aliases":["BIT-symfony-2021-41267","CVE-2021-41267"],"modified":"2026-07-08T06:28:30.044634543Z","published":"2021-11-24T20:04:25Z","database_specific":{"github_reviewed":true,"github_reviewed_at":"2021-11-24T19:58:05Z","nvd_published_at":"2021-11-24T19:15:00Z","cwe_ids":["CWE-444"],"severity":"MODERATE"},"references":[{"type":"WEB","url":"https://github.com/symfony/symfony/security/advisories/GHSA-q3j3-w37x-hq2q"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2021-41267"},{"type":"WEB","url":"https://github.com/symfony/symfony/pull/44243"},{"type":"WEB","url":"https://github.com/symfony/symfony/commit/95dcf51682029e89450aee86267e3d553aa7c487"},{"type":"WEB","url":"https://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/http-kernel/CVE-2021-41267.yaml"},{"type":"WEB","url":"https://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/symfony/CVE-2021-41267.yaml"},{"type":"WEB","url":"https://github.com/symfony/symfony/releases/tag/v5.3.12"},{"type":"WEB","url":"https://symfony.com/cve-2021-41267"}],"affected":[{"package":{"name":"symfony/http-kernel","ecosystem":"Packagist","purl":"pkg:composer/symfony/http-kernel"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.2.0"},{"fixed":"5.3.12"}]}],"versions":["v5.2.0","v5.2.1","v5.2.10","v5.2.11","v5.2.12","v5.2.13","v5.2.14","v5.2.2","v5.2.3","v5.2.4","v5.2.5","v5.2.6","v5.2.7","v5.2.8","v5.2.9","v5.3.0","v5.3.0-BETA1","v5.3.0-BETA2","v5.3.0-BETA3","v5.3.0-BETA4","v5.3.0-RC1","v5.3.1","v5.3.10","v5.3.11","v5.3.2","v5.3.3","v5.3.4","v5.3.5","v5.3.6","v5.3.7","v5.3.8","v5.3.9"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/11/GHSA-q3j3-w37x-hq2q/GHSA-q3j3-w37x-hq2q.json"}},{"package":{"name":"symfony/symfony","ecosystem":"Packagist","purl":"pkg:composer/symfony/symfony"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.2.0"},{"fixed":"5.3.12"}]}],"versions":["v5.2.0","v5.2.1","v5.2.10","v5.2.11","v5.2.12","v5.2.13","v5.2.14","v5.2.2","v5.2.3","v5.2.4","v5.2.5","v5.2.6","v5.2.7","v5.2.8","v5.2.9","v5.3.0","v5.3.0-BETA1","v5.3.0-BETA2","v5.3.0-BETA3","v5.3.0-BETA4","v5.3.0-RC1","v5.3.1","v5.3.10","v5.3.11","v5.3.2","v5.3.3","v5.3.4","v5.3.5","v5.3.6","v5.3.7","v5.3.8","v5.3.9"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/11/GHSA-q3j3-w37x-hq2q/GHSA-q3j3-w37x-hq2q.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N"}]}