Every CVE Search/ Get API key

CVE-2023-46733

Symfony possible session fixation vulnerability

6.5 MediumFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
High
Availability
None

Exploit likelihood

0.69%Up 0.6 points since Nov 11, 2023
90%50%10%1%

What each source reports

CVE List Score used 6.5

Symfony possible session fixation vulnerability

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.

Record
CVE-2023-46733
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Weakness
CWE-384
Updated
2026-11-02
EUVDEUVD-2023-2996 6.5

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.

Record
EUVD-2023-2996
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Updated
2026-11-03
GitHub AdvisoriesGHSA-m2wj-r6g3-fxfx 6.5

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.

Record
GHSA-m2wj-r6g3-fxfx
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Weakness
CWE-384
Updated
2026-11-02
NVD 6.5

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.

Record
CVE-2023-46733
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Weakness
CWE-384
Updated
2026-11-02
OSV 6.5

Symfony possible session fixation vulnerability

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.

Record
CVE-2023-46733
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Weakness
CWE-384
Updated
2026-11-02
OSVDEBIAN-CVE-2023-46733 6.5

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.

Record
DEBIAN-CVE-2023-46733
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Updated
2026-11-02
OSVGHSA-m2wj-r6g3-fxfx 6.5

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.

Record
GHSA-m2wj-r6g3-fxfx
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Weakness
CWE-384
Updated
2026-11-02
OSVBIT-symfony-2023-46733 No score

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.

Record
BIT-symfony-2023-46733
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
symfony/security-http
Packagist
5.4.21 up to 5.4.31
5.4.31
symfony/security-http
Packagist
6.2.7 up to 6.3.8
6.3.8
symfony/symfony
Packagist
5.4.21 up to 5.4.31
5.4.31
symfony/symfony
Packagist
6.2.7 up to 6.3.8
6.3.8
symfony
Bitnami
5.4.21 up to 5.4.31, 6.2.7 up to 6.3.8
5.4.316.3.8
symfony
Debian:12
before 5.4.23+dfsg-1+deb12u1, plus listed versions
5.4.23+dfsg-1
5.4.23+dfsg-1+deb12u1
symfony
Debian:13
before 5.4.31+dfsg-1
5.4.31+dfsg-1
symfony
Debian:14
before 5.4.31+dfsg-1
5.4.31+dfsg-1
symfony/security-http
Packagist
5.4.21 up to 5.4.31, plus listed versions
v5.4.21v5.4.22v5.4.23v5.4.26v5.4.28v5.4.30
5.4.31
symfony/security-http
Packagist
6.2.7 up to 6.3.8, plus listed versions
v6.2.10v6.2.11v6.2.13v6.2.7v6.2.8
Show 8 moreShow less
v6.3.0v6.3.0-BETA1v6.3.0-RC1v6.3.1v6.3.2v6.3.4v6.3.5v6.3.6
6.3.8
symfony/symfony
Packagist
5.4.21 up to 5.4.31, plus listed versions
v5.4.21v5.4.22v5.4.23v5.4.24v5.4.25
Show 5 moreShow less
v5.4.26v5.4.27v5.4.28v5.4.29v5.4.30
5.4.31
symfony/symfony
Packagist
6.2.7 up to 6.3.8, plus listed versions
v6.2.10v6.2.11v6.2.12v6.2.13v6.2.14
Show 16 moreShow less
v6.2.7v6.2.8v6.2.9v6.3.0v6.3.0-BETA1v6.3.0-BETA2v6.3.0-BETA3v6.3.0-RC1v6.3.0-RC2v6.3.1v6.3.2v6.3.3v6.3.4v6.3.5v6.3.6v6.3.7
6.3.8

History

History
RecordedChangedSources
aliases, publishedEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2023-46733 is a medium vulnerability (CVSS 6.5) in Sensiolabs Symfony, published November 10, 2023. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.69%, the 53rd percentile. Fixed in symfony/security-http 5.4.31.

References

Show 4 moreShow less
MoveEnter Open