Symfony storing cookie headers in HttpCache
Package
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
Description
Published to the GitHub Advisory Database
Feb 1, 2023
Reviewed
Feb 1, 2023
Published by the National Vulnerability Database
Feb 3, 2023
Last updated
Jul 12, 2023
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 aSet-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.
References