MediumGHSA-q3j3-w37x-hq2qBIT-symfony-2021-41267CVE-2021-41267

Webcache Poisoning in symfony/http-kernel

Published 24 Nov 2021 · Updated 8 Jul 2026

Affected packages

Affected
>=5.2.0 <5.3.12
Fixed in
5.3.12
Update to the fixed version for your release line, for example:composer require symfony/http-kernel:^5.3.12
Affected
>=5.2.0 <5.3.12
Fixed in
5.3.12
Update to the fixed version for your release line, for example:composer require symfony/symfony:^5.3.12

Details

Description -----------

When 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.

In 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.

Resolution ----------

Symfony now ensures that the X-Forwarded-Prefix HTTP header is not forwarded to sub-requests when it is not trusted.

The patch for this issue is available here for branch 5.3.

Credits -------

We would like to thank Soner Sayakci for reporting the issue and Jérémy Derussé for fixing the issue.

Is GHSA-q3j3-w37x-hq2q in any of your client repos?

Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected symfony/http-kernel, and gives you the command that fixes it.

References

Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.