Headline
GHSA-3gv2-29qc-v67m: Symfony vulnerable to Session Fixation of CSRF tokens
Description
When authenticating users Symfony by default regenerates the session ID upon login, but preserves the rest of session attributes. Because this does not clear CSRF tokens upon login, this might enables same-site attackers to bypass the CSRF protection mechanism by performing an attack similar to a session-fixation.
Resolution
Symfony removes all CSRF tokens from the session on successful login.
The patch for this issue is available here for branch 4.4.
Credits
We would like to thank Marco Squarcina for reporting the issue and Nicolas Grekas for fixing it.
Package
composer symfony/security-bundle (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
composer symfony/symfony (Composer)
>= 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
Description
When authenticating users Symfony by default regenerates the session ID upon login, but preserves the rest of session attributes. Because this does not clear CSRF tokens upon login, this might enables same-site attackers to bypass the CSRF protection mechanism by performing an attack similar to a session-fixation.
Resolution
Symfony removes all CSRF tokens from the session on successful login.
The patch for this issue is available here for branch 4.4.
Credits
We would like to thank Marco Squarcina for reporting the issue and Nicolas Grekas for fixing it.
References
- GHSA-3gv2-29qc-v67m
- https://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/security-bundle/CVE-2022-24895.yaml
- https://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/symfony/CVE-2022-24895.yaml
- https://symfony.com/cve-2022-24895
Last updated
Feb 1, 2023
Reviewed
Feb 1, 2023
Published to the GitHub Advisory Database
Feb 1, 2023
fabpot published to symfony/symfony
Feb 1, 2023
Related news
Symfony is a PHP framework for web and console applications and a set of reusable PHP components. When authenticating users Symfony by default regenerates the session ID upon login, but preserves the rest of session attributes. Because this does not clear CSRF tokens upon login, this might enables same-site attackers to bypass the CSRF protection mechanism by performing an attack similar to a session-fixation. This issue has been fixed in the 4.4 branch.