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.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2023-46733
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 11:23 UTC · Revision 1
Source evidence
Symfony possible session fixation vulnerability
core-osv · Original sourcePublished 10 Nov 2023, 17:09 UTC
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.
osv:CVE-2023-46733
Complete source record
{
"id": "1221fb9d5ef4544d591674f94597e6f1b63d7bde5679c49ed73621e689de7c57",
"url": "https://osv.dev/vulnerability/CVE-2023-46733",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Symfony possible session fixation vulnerability",
"summary": "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.",
"evidence": "osv:CVE-2023-46733",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2023-46733",
"aliases": [
"BIT-symfony-2023-46733",
"CVE-2023-46733",
"GHSA-m2wj-r6g3-fxfx"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/symfony/security-http",
"type": "GIT",
"events": [
{
"introduced": "0570380d0864d3fa5f8c07b59ada16149bf0570a"
},
{
"fixed": "6d3cd5a4deee9697738db8d24258890ca4140ae9"
},
{
"introduced": "0b96e76243877b53e9ff1418f9e538ecf480dd69"
},
{
"fixed": "19f7b5f5d20879a976d6d376e359bc975dfc6002"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:sensiolabs:symfony:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "5.4.21"
},
{
"fixed": "5.4.31"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:sensiolabs:symfony:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "6.2.7"
},
{
"fixed": "6.3.8"
}
],
"source": "CPE_RANGE"
}
]
}
},
{
"repo": "https://github.com/symfony/symfony",
"type": "GIT",
"events": [
{
"introduced": "002e50336dd9bc9c414d2e71ca52700353c19ed0"
},
{
"fixed": "adf54cdee267ad025961c41ad1c2a0681600ede3"
},
{
"introduced": "80cac46a31d4561804c17d101591a4f59e6db3a2"
},
{
"fixed": "60e5f25f78f025bb81ec605f7a6fd664667f9e0e"
},
{
"fixed": "7467bd7e3f888b333102bc664b5e02ef1e7f88b9"
},
{
"fixed": "dc356499d5ceb86f7cf2b4c7f032eca97061ed74"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:sensiolabs:symfony:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "5.4.21"
},
{
"fixed": "5.4.31"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:sensiolabs:symfony:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "6.2.7"
},
{
"fixed": "6.3.8"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "7467bd7e3f888b333102bc664b5e02ef1e7f88b9"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "dc356499d5ceb86f7cf2b4c7f032eca97061ed74"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"v5.4.30",
"v5.4.28",
"v5.4.26",
"v5.4.23",
"v5.4.22",
"v5.4.21",
"v5.4.29",
"v5.4.27",
"v5.4.25",
"v5.4.24"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-46733.json"
}
}
],
"modified": "2026-10-28T02:30:34.550983325Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/46xxx/CVE-2023-46733.json",
"https://github.com/symfony/symfony/security/advisories/GHSA-m2wj-r6g3-fxfx",
"https://nvd.nist.gov/vuln/detail/CVE-2023-46733",
"https://github.com/symfony/symfony/commit/7467bd7e3f888b333102bc664b5e02ef1e7f88b9",
"https://github.com/symfony/symfony/commit/dc356499d5ceb86f7cf2b4c7f032eca97061ed74"
],
"provider_metadata": {
"cwe_ids": [
"CWE-384"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/46xxx/CVE-2023-46733.json"
}
},
"related_cves": [
{
"value": "CVE-2023-46733",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 502010,
"published_at": "2023-11-10T17:09:13.936+00:00"
}