CVE-2020-5275
Firewall configured with unanimous strategy was not actually unanimous in symfony/security-http
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- Required
What an attacker can affect
- Confidentiality
- High
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
7.6
Firewall configured with unanimous strategy was not actually unanimous in symfony/security-http
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.
- Record
CVE-2020-5275- CVSS 3.1
- 7.6 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N - Weakness
- CWE-285
- Updated
- 2026-11-02
EUVDEUVD-2020-0343
7.6
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.
- Record
EUVD-2020-0343- CVSS 3.1
- 7.6 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-g4m9-5hpf-hx72
7.6
Firewall configured with unanimous strategy was not actually unanimous in Symfony
Description
On 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.
As 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.
Resolution
The accessDecisionManager is now called with all attributes at once, allowing the unanimous strategy being applied on each attribute.
The patch for this issue is available here for the 4.4 branch.
Credits
I would like to thank Antonio J. García Lagar for reporting & Robin Chalas for fixing the issue.
- Record
GHSA-g4m9-5hpf-hx72- CVSS 3.1
- 7.6 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N - Weakness
- CWE-285
- Updated
- 2026-11-02
NVD
7.6
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.
- Record
CVE-2020-5275- CVSS 3.1
- 7.6 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N - CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N - CVSS 2.0
- 5.5 Medium
AV:N/AC:L/Au:S/C:P/I:P/A:N - Weakness
- CWE-285, CWE-863
- Updated
- 2026-11-02
OSV
8.1
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.
- Record
CVE-2020-5275- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
OSVDEBIAN-CVE-2020-5275
8.1
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.
- Record
DEBIAN-CVE-2020-5275- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
OSVGHSA-g4m9-5hpf-hx72
7.6
Firewall configured with unanimous strategy was not actually unanimous in Symfony
Description
On 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.
As 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.
Resolution
The accessDecisionManager is now called with all attributes at once, allowing the unanimous strategy being applied on each attribute.
The patch for this issue is available here for the 4.4 branch.
Credits
I would like to thank Antonio J. García Lagar for reporting & Robin Chalas for fixing the issue.
- Record
GHSA-g4m9-5hpf-hx72- CVSS 3.1
- 7.6 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N - Weakness
- CWE-285
- Updated
- 2026-11-02
OSVBIT-symfony-2020-5275 No score
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.
- Record
BIT-symfony-2020-5275- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
symfony/securityPackagist |
4.4.0 up to 4.4.7 | 4.4.7 |
symfony/securityPackagist |
5.0.0 up to 5.0.7 | 5.0.7 |
symfony/security-httpPackagist |
4.4.0 up to 4.4.7 | 4.4.7 |
symfony/security-httpPackagist |
5.0.0 up to 5.0.7 | 5.0.7 |
symfony/symfonyPackagist |
4.4.0 up to 4.4.7 | 4.4.7 |
symfony/symfonyPackagist |
5.0.0 up to 5.0.7 | 5.0.7 |
symfonyBitnami |
4.4.0 up to 4.4.7, 5.0.0 up to 5.0.7 | 4.4.75.0.7 |
symfonyDebian:12 |
before 4.4.8-1 | 4.4.8-1 |
symfonyDebian:13 |
before 4.4.8-1 | 4.4.8-1 |
symfonyDebian:14 |
before 4.4.8-1 | 4.4.8-1 |
Show 5 moreShow less
| Package | Affected | Fixed |
|---|---|---|
symfony/securityPackagist |
4.4.0 up to 4.4.7, plus listed versions v4.4.0v4.4.1v4.4.2v4.4.3v4.4.4v4.4.5v4.4.6 |
4.4.7 |
symfony/security-httpPackagist |
4.4.0 up to 4.4.7, plus listed versions v4.4.0v4.4.1v4.4.2v4.4.3v4.4.4v4.4.5v4.4.6 |
4.4.7 |
symfony/security-httpPackagist |
5.0.0 up to 5.0.7, plus listed versions v5.0.0v5.0.1v5.0.2v5.0.3v5.0.4v5.0.5v5.0.6 |
5.0.7 |
symfony/symfonyPackagist |
4.4.0 up to 4.4.7, plus listed versions v4.4.0v4.4.1v4.4.2v4.4.3v4.4.4v4.4.5v4.4.6 |
4.4.7 |
symfony/symfonyPackagist |
5.0.0 up to 5.0.7, plus listed versions v5.0.0v5.0.1v5.0.2v5.0.3v5.0.4v5.0.5v5.0.6 |
5.0.7 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2020-5275 is a high vulnerability (CVSS 7.6) in Sensiolabs Symfony, published March 30, 2020. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.15%, the 66th percentile. Fixed in symfony/security 4.4.7.
References
github.com/symfony/symfony/security/advisories/GHSA-g4m9-5hpf-hx72
github.com/symfony/symfony/commit/c935e4a3fba6cc2ab463a6ca382858068d63cebf
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/C36JLPHUPKDFAX6D5WYFC4ALO2K7RDUQ
nvd.nist.gov/vuln/detail/CVE-2020-5275
lists.fedoraproject.org/archives/list/[email protected]/message/C36JLPHUPKDFAX6D5WYFC4ALO2K7RDUQ
github.com/FriendsOfPHP/security-advisories/blob/master/symfony/security-http/CVE-2020-5275.yaml