Skip to content

Webcache Poisoning in symfony/http-kernel

Moderate severity GitHub Reviewed Published Nov 24, 2021 in symfony/symfony • Updated Feb 5, 2024

Package

composer symfony/http-kernel (Composer)

Affected versions

>= 5.2.0, < 5.3.12

Patched versions

5.3.12
composer symfony/symfony (Composer)
>= 5.2.0, < 5.3.12
5.3.12

Description

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.

References

@fabpot fabpot published to symfony/symfony Nov 24, 2021
Published by the National Vulnerability Database Nov 24, 2021
Reviewed Nov 24, 2021
Published to the GitHub Advisory Database Nov 24, 2021
Last updated Feb 5, 2024

Severity

Moderate
6.5
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
Required
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N

Weaknesses

CVE ID

CVE-2021-41267

GHSA ID

GHSA-q3j3-w37x-hq2q

Source code

No known source code

Credits

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.