{"id":"CVE-2020-5275","aliases":["BIT-symfony-2020-5275","DEBIAN-CVE-2020-5275","EUVD-2020-0343","GHSA-g4m9-5hpf-hx72"],"status":"published","title":"Firewall configured with unanimous strategy was not actually unanimous in symfony/security-http","description":"In symfony/security-http before versions 4.4.7 and 5.0.7, when a `Firewall` checks access control rule, it iterate overs each rule's attributes and stops as soon as the accessDecisionManager decides to grant access on the attribute, preventing the check of next attributes that should have been take into account in an unanimous strategy. The accessDecisionManager is now called with all attributes at once, allowing the unanimous strategy being applied on each attribute. This issue is patched in versions 4.4.7 and 5.0.7.","severity":{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.01148,"percentile":0.67062,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-285","CWE-863"],"published":"2020-03-30T19:45:14Z","modified":"2026-10-26T12:02:32Z","fixes":[{"ecosystem":"Packagist","package":"symfony/security","fixed_in":["4.4.7","5.0.7"],"sources":["ghsa","osv"]},{"ecosystem":"Packagist","package":"symfony/security-http","fixed_in":["4.4.7","5.0.7"],"sources":["ghsa","osv"]},{"ecosystem":"Packagist","package":"symfony/symfony","fixed_in":["4.4.7","5.0.7"],"sources":["ghsa","osv"]},{"ecosystem":"Bitnami","package":"symfony","fixed_in":["4.4.7","5.0.7"],"sources":["osv"]},{"ecosystem":"Debian:12","package":"symfony","fixed_in":["4.4.8-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"symfony","fixed_in":["4.4.8-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"symfony","fixed_in":["4.4.8-1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Packagist","package":"symfony/security","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.4.0"},{"fixed":"4.4.7"}]}]},{"source":"ghsa","ecosystem":"Packagist","package":"symfony/security","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.0.0"},{"fixed":"5.0.7"}]}]},{"source":"ghsa","ecosystem":"Packagist","package":"symfony/security-http","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.4.0"},{"fixed":"4.4.7"}]}]},{"source":"ghsa","ecosystem":"Packagist","package":"symfony/security-http","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.0.0"},{"fixed":"5.0.7"}]}]},{"source":"ghsa","ecosystem":"Packagist","package":"symfony/symfony","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.4.0"},{"fixed":"4.4.7"}]}]},{"source":"ghsa","ecosystem":"Packagist","package":"symfony/symfony","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.0.0"},{"fixed":"5.0.7"}]}]},{"source":"osv","ecosystem":"Bitnami","package":"symfony","ranges":[{"type":"SEMVER","events":[{"introduced":"4.4.0"},{"fixed":"4.4.7"},{"introduced":"5.0.0"},{"fixed":"5.0.7"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"symfony","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.4.8-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"symfony","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.4.8-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"symfony","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.4.8-1"}]}]},{"source":"osv","ecosystem":"Packagist","package":"symfony/security","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.4.0"},{"fixed":"4.4.7"}]}],"versions":["v4.4.0","v4.4.1","v4.4.2","v4.4.3","v4.4.4","v4.4.5","v4.4.6"]},{"source":"osv","ecosystem":"Packagist","package":"symfony/security","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.0.0"},{"fixed":"5.0.7"}]}]},{"source":"osv","ecosystem":"Packagist","package":"symfony/security-http","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.4.0"},{"fixed":"4.4.7"}]}],"versions":["v4.4.0","v4.4.1","v4.4.2","v4.4.3","v4.4.4","v4.4.5","v4.4.6"]},{"source":"osv","ecosystem":"Packagist","package":"symfony/security-http","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.0.0"},{"fixed":"5.0.7"}]}],"versions":["v5.0.0","v5.0.1","v5.0.2","v5.0.3","v5.0.4","v5.0.5","v5.0.6"]},{"source":"osv","ecosystem":"Packagist","package":"symfony/symfony","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.4.0"},{"fixed":"4.4.7"}]}],"versions":["v4.4.0","v4.4.1","v4.4.2","v4.4.3","v4.4.4","v4.4.5","v4.4.6"]},{"source":"osv","ecosystem":"Packagist","package":"symfony/symfony","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.0.0"},{"fixed":"5.0.7"}]}],"versions":["v5.0.0","v5.0.1","v5.0.2","v5.0.3","v5.0.4","v5.0.5","v5.0.6"]}],"products":[{"vendor":"sensiolabs","product":"symfony"},{"vendor":"symfony","product":"symfony"}],"references":[{"url":"https://github.com/symfony/symfony/security/advisories/GHSA-g4m9-5hpf-hx72","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","web","advisory"]},{"url":"https://github.com/symfony/symfony/commit/c935e4a3fba6cc2ab463a6ca382858068d63cebf","tags":["x_refsource_CONFIRM","x_transferred","Patch","Third Party Advisory","web","fix"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/C36JLPHUPKDFAX6D5WYFC4ALO2K7RDUQ/","tags":["vendor-advisory","x_refsource_FEDORA","x_transferred","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-5275","tags":["advisory"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/C36JLPHUPKDFAX6D5WYFC4ALO2K7RDUQ/"},{"url":"https://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/security-http/CVE-2020-5275.yaml","tags":["web"]},{"url":"https://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/security/CVE-2020-5275.yaml","tags":["web"]},{"url":"https://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/symfony/CVE-2020-5275.yaml","tags":["web"]},{"url":"https://symfony.com/cve-2020-5275","tags":["web"]},{"url":"https://github.com/advisories/GHSA-g4m9-5hpf-hx72"},{"url":"https://security-tracker.debian.org/tracker/CVE-2020-5275","tags":["advisory"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/C36JLPHUPKDFAX6D5WYFC4ALO2K7RDUQ","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2020-5275","title":"Firewall configured with unanimous strategy was not actually unanimous in symfony/security-http","description":"In symfony/security-http before versions 4.4.7 and 5.0.7, when a `Firewall` checks access control rule, it iterate overs each rule's attributes and stops as soon as the accessDecisionManager decides to grant access on the attribute, preventing the check of next attributes that should have been take into account in an unanimous strategy. The accessDecisionManager is now called with all attributes at once, allowing the unanimous strategy being applied on each attribute. This issue is patched in versions 4.4.7 and 5.0.7.","status":"published","published":"2020-03-30T19:45:14Z","modified":"2024-08-04T08:22:09.094Z","cvss":[{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N","level":"high","assessor":"cna"}],"cwes":["CWE-285"],"updated_at":"2026-11-02T14:35:47.56691Z"}],"euvd":[{"id":"EUVD-2020-0343","description":"In symfony/security-http before versions 4.4.7 and 5.0.7, when a `Firewall` checks access control rule, it iterate overs each rule's attributes and stops as soon as the accessDecisionManager decides to grant access on the attribute, preventing the check of next attributes that should have been take into account in an unanimous strategy. The accessDecisionManager is now called with all attributes at once, allowing the unanimous strategy being applied on each attribute. This issue is patched in versions 4.4.7 and 5.0.7.","status":"published","published":"2020-03-30T19:45:14Z","modified":"2024-08-04T08:22:09Z","cvss":[{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N","level":"high"}],"updated_at":"2026-11-03T03:08:07.28588Z"}],"ghsa":[{"id":"GHSA-g4m9-5hpf-hx72","title":"Firewall configured with unanimous strategy was not actually unanimous in Symfony","description":"Description\n-----------\n\nOn Symfony before 4.4.0, when a `Firewall` checks an access control rule (using the unanimous strategy), it iterates over all rule attributes and grant access only if *all* calls to the `accessDecisionManager` decide to grant access.\n\nAs of Symfony 4.4.0, a bug was introduced that prevents the check of attributes as soon as `accessDecisionManager` decide to grant access on one attribute.\n\nResolution\n----------\n\nThe `accessDecisionManager` is now called with all attributes at once, allowing the unanimous strategy being applied on each attribute. \n\nThe patch for this issue is available [here](https://github.com/symfony/symfony/commit/c935e4a3fba6cc2ab463a6ca382858068d63cebf) for the 4.4 branch.\n\nCredits\n-------\n\nI would like to thank Antonio J. García Lagar for reporting \u0026 Robin Chalas for fixing the issue.","status":"published","published":"2020-03-30T20:09:44Z","modified":"2024-02-05T11:13:15Z","cvss":[{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N","level":"high"}],"cwes":["CWE-285"],"updated_at":"2026-11-02T14:37:35.293818Z"}],"nvd":[{"id":"CVE-2020-5275","description":"In symfony/security-http before versions 4.4.7 and 5.0.7, when a `Firewall` checks access control rule, it iterate overs each rule's attributes and stops as soon as the accessDecisionManager decides to grant access on the attribute, preventing the check of next attributes that should have been take into account in an unanimous strategy. The accessDecisionManager is now called with all attributes at once, allowing the unanimous strategy being applied on each attribute. This issue is patched in versions 4.4.7 and 5.0.7.","status":"published","published":"2020-03-30T20:15:19.837Z","modified":"2026-06-17T03:21:10.987Z","cvss":[{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N","level":"high","assessor":"secondary"},{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"high","assessor":"primary"},{"version":"2.0","score":5.5,"vector":"AV:N/AC:L/Au:S/C:P/I:P/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-285","CWE-863"],"updated_at":"2026-11-02T14:05:56.580228Z"}],"osv":[{"id":"CVE-2020-5275","description":"In symfony/security-http before versions 4.4.7 and 5.0.7, when a `Firewall` checks access control rule, it iterate overs each rule's attributes and stops as soon as the accessDecisionManager decides to grant access on the attribute, preventing the check of next attributes that should have been take into account in an unanimous strategy. The accessDecisionManager is now called with all attributes at once, allowing the unanimous strategy being applied on each attribute. This issue is patched in versions 4.4.7 and 5.0.7.","status":"published","published":"2020-03-30T20:15:19.837Z","modified":"2026-10-24T10:50:23.180198989Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"high"}],"updated_at":"2026-11-02T15:44:16.936975Z"},{"id":"DEBIAN-CVE-2020-5275","description":"In symfony/security-http before versions 4.4.7 and 5.0.7, when a `Firewall` checks access control rule, it iterate overs each rule's attributes and stops as soon as the accessDecisionManager decides to grant access on the attribute, preventing the check of next attributes that should have been take into account in an unanimous strategy. The accessDecisionManager is now called with all attributes at once, allowing the unanimous strategy being applied on each attribute. This issue is patched in versions 4.4.7 and 5.0.7.","status":"published","published":"2020-03-30T20:15:19.837Z","modified":"2026-10-26T12:02:32.347978554Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"high"}],"updated_at":"2026-11-02T15:45:34.019707Z"},{"id":"GHSA-g4m9-5hpf-hx72","title":"Firewall configured with unanimous strategy was not actually unanimous in Symfony","description":"Description\n-----------\n\nOn Symfony before 4.4.0, when a `Firewall` checks an access control rule (using the unanimous strategy), it iterates over all rule attributes and grant access only if *all* calls to the `accessDecisionManager` decide to grant access.\n\nAs of Symfony 4.4.0, a bug was introduced that prevents the check of attributes as soon as `accessDecisionManager` decide to grant access on one attribute.\n\nResolution\n----------\n\nThe `accessDecisionManager` is now called with all attributes at once, allowing the unanimous strategy being applied on each attribute. \n\nThe patch for this issue is available [here](https://github.com/symfony/symfony/commit/c935e4a3fba6cc2ab463a6ca382858068d63cebf) for the 4.4 branch.\n\nCredits\n-------\n\nI would like to thank Antonio J. García Lagar for reporting \u0026 Robin Chalas for fixing the issue.","status":"published","published":"2020-03-30T20:09:44Z","modified":"2026-09-10T03:48:29.099946704Z","cvss":[{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N","level":"high"}],"cwes":["CWE-285"],"updated_at":"2026-11-02T15:46:47.119724Z"},{"id":"BIT-symfony-2020-5275","description":"In symfony/security-http before versions 4.4.7 and 5.0.7, when a `Firewall` checks access control rule, it iterate overs each rule's attributes and stops as soon as the accessDecisionManager decides to grant access on the attribute, preventing the check of next attributes that should have been take into account in an unanimous strategy. The accessDecisionManager is now called with all attributes at once, allowing the unanimous strategy being applied on each attribute. This issue is patched in versions 4.4.7 and 5.0.7.","status":"published","published":"2024-03-06T11:08:26.477Z","modified":"2024-03-06T11:25:28.861Z","updated_at":"2026-11-02T15:28:35.51001Z"}]}}
