Headline
GHSA-h7vf-5wrv-9fhv: Symfony storing cookie headers in HttpCache
Description
The Symfony HTTP cache system acts as a reverse proxy: it caches HTTP responses (including headers) and returns them to clients.
In a recent AbstractSessionListener
change, the response might now contain a Set-Cookie
header. If the Symfony HTTP cache system is enabled, this header might be stored and returned to some other clients. An attacker can use this vulnerability to retrieve the victim’s session.
Resolution
The HttpStore
constructor now takes a parameter containing a list of private headers that are removed from the HTTP response headers.
The default value for this parameter is Set-Cookie
, but it can be overridden or extended by the application.
The patch for this issue is available here for branch 4.4.
Credits
We would like to thank Soner Sayakci for reporting the issue and Nicolas Grekas for fixing it.
- GitHub Advisory Database
- GitHub Reviewed
- CVE-2022-24894
Symfony storing cookie headers in HttpCache
Moderate severity GitHub Reviewed Published Feb 1, 2023 in symfony/symfony • Updated Feb 1, 2023
Package
composer symfony/http-kernel (Composer)
Affected versions
>= 2.0.0, < 4.4.50
>= 5.0.0, < 5.4.20
>= 6.0.0, < 6.0.20
>= 6.1.0, < 6.1.12
>= 6.2.0, < 6.2.6
Patched versions
4.4.50
5.4.20
6.0.20
6.1.12
6.2.6
>= 2.0.0, < 4.4.50
>= 5.0.0, < 5.4.20
>= 6.0.0, < 6.0.20
>= 6.1.0, < 6.1.12
>= 6.2.0, < 6.2.6
4.4.50
5.4.20
6.0.20
6.1.12
6.2.6
Published to the GitHub Advisory Database
Feb 1, 2023
Related news
Symfony is a PHP framework for web and console applications and a set of reusable PHP components. The Symfony HTTP cache system, acts as a reverse proxy: It caches entire responses (including headers) and returns them to the clients. In a recent change in the `AbstractSessionListener`, the response might contain a `Set-Cookie` header. If the Symfony HTTP cache system is enabled, this response might bill stored and return to the next clients. An attacker can use this vulnerability to retrieve the victim's session. This issue has been patched and is available for branch 4.4.