Security
Headlines
HeadlinesLatestCVEs

Headline

GHSA-m2wj-r6g3-fxfx: Symfony possible session fixation vulnerability

Description

SessionStrategyListener does not always migrate the session after a successful login. It only migrate the session when the logged-in user identifier changes. In some use cases, the user identifier doesn’t change between the verification phase and the successful login, while the token itself changes from one type (partially-authenticated) to another (fully-authenticated). When this happens, the session id should be regenerated to prevent possible session fixations.

Resolution

Symfony now checks the type of the token in addition to the user identifier before deciding whether the session id should be regenerated.

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

Credits

We would like to thank Robert Meijers for reporting the issue and providing the fix.

ghsa
#vulnerability#git#php#auth

Package

composer symfony/security-http (Composer)

Affected versions

>= 5.4.21, < 5.4.31

>= 6.2.7, < 6.3.8

Patched versions

5.4.31

6.3.8

composer symfony/symfony (Composer)

>= 5.4.21, < 5.4.31

>= 6.2.7, < 6.3.8

5.4.31

6.3.8

Description

Description

SessionStrategyListener does not always migrate the session after a successful login. It only migrate the session when the logged-in user identifier changes. In some use cases, the user identifier doesn’t change between the verification phase and the successful login, while the token itself changes from one type (partially-authenticated) to another (fully-authenticated). When this happens, the session id should be regenerated to prevent possible session fixations.

Resolution

Symfony now checks the type of the token in addition to the user identifier before deciding whether the session id should be regenerated.

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

Credits

We would like to thank Robert Meijers for reporting the issue and providing the fix.

References

  • GHSA-m2wj-r6g3-fxfx
  • https://nvd.nist.gov/vuln/detail/CVE-2023-46733
  • symfony/symfony@7467bd7
  • symfony/symfony@dc35649
  • https://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/symfony/CVE-2023-46733.yaml
  • https://symfony.com/cve-2023-46733

nicolas-grekas published to symfony/symfony

Nov 10, 2023

Published by the National Vulnerability Database

Nov 10, 2023

Published to the GitHub Advisory Database

Nov 12, 2023

Reviewed

Nov 12, 2023

Last updated

Nov 12, 2023

Related news

CVE-2023-46733: Possible session fixation

Symfony is a PHP framework for web and console applications and a set of reusable PHP components. Starting in versions 5.4.21 and 6.2.7 and prior to versions 5.4.31 and 6.3.8, `SessionStrategyListener` does not migrate the session after every successful login. It does so only in case the logged in user changes by means of checking the user identifier. In some use cases, the user identifier doesn't change between the verification phase and the successful login, while the token itself changes from one type (partially-authenticated) to another (fully-authenticated). When this happens, the session id should be regenerated to prevent possible session fixations, which is not the case at the moment. As of versions 5.4.31 and 6.3.8, Symfony now checks the type of the token in addition to the user identifier before deciding whether the session id should be regenerated.