{"id":"CVE-2022-23601","aliases":["BIT-symfony-2022-23601","EUVD-2022-1214","GHSA-vvmr-8829-6whx"],"status":"published","title":"CSRF token missing in Symfony","description":"Symfony is a PHP framework for web and console applications and a set of reusable PHP components. The Symfony form component provides a CSRF protection mechanism by using a random token injected in the form and using the session to store and control the token submitted by the user. When using the FrameworkBundle, this protection can be enabled or disabled with the configuration. If the configuration is not specified, by default, the mechanism is enabled as long as the session is enabled. In a recent change in the way the configuration is loaded, the default behavior has been dropped and, as a result, the CSRF protection is not enabled in form when not explicitly enabled, which makes the application sensible to CSRF attacks. This issue has been resolved in the patch versions listed and users are advised to update. There are no known workarounds for this issue.","severity":{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.00566,"percentile":0.47253,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-352"],"published":"2022-02-01T00:46:57Z","modified":"2026-10-28T02:30:39Z","fixes":[{"ecosystem":"Packagist","package":"symfony/framework-bundle","fixed_in":["5.3.15","5.4.4","6.0.4"],"sources":["ghsa","osv"]},{"ecosystem":"Bitnami","package":"symfony","fixed_in":["5.3.15","5.4.4","6.0.4"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Packagist","package":"symfony/framework-bundle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.3.14"},{"last_affected":"5.3.14"},{"fixed":"5.3.15"}]}],"versions":["5.3.14"]},{"source":"ghsa","ecosystem":"Packagist","package":"symfony/framework-bundle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.4.3"},{"last_affected":"5.4.3"},{"fixed":"5.4.4"}]}],"versions":["5.4.3"]},{"source":"ghsa","ecosystem":"Packagist","package":"symfony/framework-bundle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.0.3"},{"last_affected":"6.0.3"},{"fixed":"6.0.4"}]}],"versions":["6.0.3"]},{"source":"osv","ecosystem":"Bitnami","package":"symfony","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"5.3.15"},{"introduced":"5.4.0"},{"fixed":"5.4.4"},{"introduced":"6.0.0"},{"fixed":"6.0.4"}]}]},{"source":"osv","ecosystem":"Packagist","package":"symfony/framework-bundle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.3.14"},{"fixed":"5.3.15"}]}],"versions":["5.3.14","v5.3.14"]},{"source":"osv","ecosystem":"Packagist","package":"symfony/framework-bundle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.4.3"},{"fixed":"5.4.4"}]}],"versions":["5.4.3","v5.4.3"]},{"source":"osv","ecosystem":"Packagist","package":"symfony/framework-bundle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.0.3"},{"fixed":"6.0.4"}]}],"versions":["6.0.3","v6.0.3"]}],"products":[{"vendor":"sensiolabs","product":"symfony"},{"vendor":"symfony","product":"symfony"}],"references":[{"url":"https://github.com/symfony/symfony/security/advisories/GHSA-vvmr-8829-6whx","tags":["x_refsource_CONFIRM","x_transferred","Patch","Third Party Advisory","web","advisory"]},{"url":"https://github.com/symfony/symfony/commit/f0ffb775febdf07e57117aabadac96fa37857f50","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","web","fix"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-23601","tags":["advisory"]},{"url":"https://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/framework-bundle/CVE-2022-23601.yaml","tags":["web"]},{"url":"https://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/symfony/CVE-2022-23601.yaml","tags":["web"]},{"url":"https://symfony.com/cve-2022-23601","tags":["web"]},{"url":"https://github.com/advisories/GHSA-vvmr-8829-6whx"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/23xxx/CVE-2022-23601.json","tags":["advisory"]},{"url":"https://github.com/symfony/symfony","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2022-23601","title":"CSRF token missing in Symfony","description":"Symfony is a PHP framework for web and console applications and a set of reusable PHP components. The Symfony form component provides a CSRF protection mechanism by using a random token injected in the form and using the session to store and control the token submitted by the user. When using the FrameworkBundle, this protection can be enabled or disabled with the configuration. If the configuration is not specified, by default, the mechanism is enabled as long as the session is enabled. In a recent change in the way the configuration is loaded, the default behavior has been dropped and, as a result, the CSRF protection is not enabled in form when not explicitly enabled, which makes the application sensible to CSRF attacks. This issue has been resolved in the patch versions listed and users are advised to update. There are no known workarounds for this issue.","status":"published","published":"2022-02-01T12:17:35Z","modified":"2025-04-23T19:08:33.728Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"high","assessor":"cna"}],"cwes":["CWE-352"],"updated_at":"2026-11-02T14:34:29.842547Z"}],"euvd":[{"id":"EUVD-2022-1214","description":"Symfony is a PHP framework for web and console applications and a set of reusable PHP components. The Symfony form component provides a CSRF protection mechanism by using a random token injected in the form and using the session to store and control the token submitted by the user. When using the FrameworkBundle, this protection can be enabled or disabled with the configuration. If the configuration is not specified, by default, the mechanism is enabled as long as the session is enabled. In a recent change in the way the configuration is loaded, the default behavior has been dropped and, as a result, the CSRF protection is not enabled in form when not explicitly enabled, which makes the application sensible to CSRF attacks. This issue has been resolved in the patch versions listed and users are advised to update. There are no known workarounds for this issue.","status":"published","published":"2022-02-01T12:17:35Z","modified":"2025-04-23T19:08:33Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"high"}],"updated_at":"2026-11-02T20:52:06.891582Z"}],"ghsa":[{"id":"GHSA-vvmr-8829-6whx","title":"CSRF token missing in Symfony","description":"Description\n-----------\n\nThe Symfony form component provides a CSRF protection mechanism by using a random token injected in the form and using the session to store and control the token submitted by the user.\nWhen using the FrameworkBundle, this protection can be enabled or disabled with the configuration. If the configuration is not specified, by default, the mechanism is enabled as long as the session is enabled.\n\nIn a recent change in the way the configuration is loaded, the default behavior has been dropped and, as a result, the CSRF protection is not enabled in form when not explicitly enabled, which makes the application sensible to CSRF attacks.\n\nResolution\n----------\n\nSymfony restored the default configuration to enable the CSRF protection by default.\n\nThe patch for this issue is available [here](https://github.com/symfony/symfony/commit/f0ffb775febdf07e57117aabadac96fa37857f50) for branch 5.3.\n\nCredits\n-------\n\nWe would like to thank Catalin Dan and David Lochner for reporting the issue and Jérémy Derussé for fixing the issue.","status":"published","published":"2022-02-01T00:46:57Z","modified":"2024-04-22T18:35:37Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"high"}],"cwes":["CWE-352"],"updated_at":"2026-11-02T14:37:43.62603Z"}],"nvd":[{"id":"CVE-2022-23601","description":"Symfony is a PHP framework for web and console applications and a set of reusable PHP components. The Symfony form component provides a CSRF protection mechanism by using a random token injected in the form and using the session to store and control the token submitted by the user. When using the FrameworkBundle, this protection can be enabled or disabled with the configuration. If the configuration is not specified, by default, the mechanism is enabled as long as the session is enabled. In a recent change in the way the configuration is loaded, the default behavior has been dropped and, as a result, the CSRF protection is not enabled in form when not explicitly enabled, which makes the application sensible to CSRF attacks. This issue has been resolved in the patch versions listed and users are advised to update. There are no known workarounds for this issue.","status":"published","published":"2022-02-01T13:15:10.313Z","modified":"2026-06-17T04:30:27.297Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"high","assessor":"secondary"},{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"primary"},{"version":"2.0","score":6.8,"vector":"AV:N/AC:M/Au:N/C:P/I:P/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-352"],"updated_at":"2026-11-02T14:07:11.52734Z"}],"osv":[{"id":"CVE-2022-23601","title":"CSRF token missing in Symfony","description":"Symfony is a PHP framework for web and console applications and a set of reusable PHP components. The Symfony form component provides a CSRF protection mechanism by using a random token injected in the form and using the session to store and control the token submitted by the user. When using the FrameworkBundle, this protection can be enabled or disabled with the configuration. If the configuration is not specified, by default, the mechanism is enabled as long as the session is enabled. In a recent change in the way the configuration is loaded, the default behavior has been dropped and, as a result, the CSRF protection is not enabled in form when not explicitly enabled, which makes the application sensible to CSRF attacks. This issue has been resolved in the patch versions listed and users are advised to update. There are no known workarounds for this issue.","status":"published","published":"2022-02-01T12:17:35Z","modified":"2026-10-28T02:30:39.531734406Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"high"}],"cwes":["CWE-352"],"updated_at":"2026-11-02T15:44:24.061177Z"},{"id":"GHSA-vvmr-8829-6whx","title":"CSRF token missing in Symfony","description":"Description\n-----------\n\nThe Symfony form component provides a CSRF protection mechanism by using a random token injected in the form and using the session to store and control the token submitted by the user.\nWhen using the FrameworkBundle, this protection can be enabled or disabled with the configuration. If the configuration is not specified, by default, the mechanism is enabled as long as the session is enabled.\n\nIn a recent change in the way the configuration is loaded, the default behavior has been dropped and, as a result, the CSRF protection is not enabled in form when not explicitly enabled, which makes the application sensible to CSRF attacks.\n\nResolution\n----------\n\nSymfony restored the default configuration to enable the CSRF protection by default.\n\nThe patch for this issue is available [here](https://github.com/symfony/symfony/commit/f0ffb775febdf07e57117aabadac96fa37857f50) for branch 5.3.\n\nCredits\n-------\n\nWe would like to thank Catalin Dan and David Lochner for reporting the issue and Jérémy Derussé for fixing the issue.","status":"published","published":"2022-02-01T00:46:57Z","modified":"2024-04-22T19:02:35.989168Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"high"}],"cwes":["CWE-352"],"updated_at":"2026-11-02T15:46:57.694388Z"},{"id":"BIT-symfony-2022-23601","description":"Symfony is a PHP framework for web and console applications and a set of reusable PHP components. The Symfony form component provides a CSRF protection mechanism by using a random token injected in the form and using the session to store and control the token submitted by the user. When using the FrameworkBundle, this protection can be enabled or disabled with the configuration. If the configuration is not specified, by default, the mechanism is enabled as long as the session is enabled. In a recent change in the way the configuration is loaded, the default behavior has been dropped and, as a result, the CSRF protection is not enabled in form when not explicitly enabled, which makes the application sensible to CSRF attacks. This issue has been resolved in the patch versions listed and users are advised to update. There are no known workarounds for this issue.","status":"published","published":"2024-03-06T11:07:24.18Z","modified":"2024-03-06T11:25:28.861Z","updated_at":"2026-11-02T15:28:35.51001Z"}]}}
