Affected versions

Symfony versions >=5.4.21, <5.4.31, and >= 6.2.7, < 6.3.8 of the Symfony Security HTTP component are affected by this security issue.

The issue has been fixed in Symfony 5.4.31, 6.3.8.

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.

Published in #Security Advisories