CVE-2020-5275: Firewall configured with unanimous strategy was not actually unanimous in symfony/security-http
CVE-2020-5275: All rules set in "accesscontrol" are required when the firewall is configured with the unanimous strategy
Other sources
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.
— GitHub
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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
composer/symfony/symfonyto a version that resolves this vulnerability.Fixed in 5.0.7 - Upgrade
Upgrade
composer/symfony/symfonyto a version that resolves this vulnerability.Fixed in 4.4.7 - Upgrade
Upgrade
composer/symfony/security-httpto a version that resolves this vulnerability.Fixed in 5.0.7 - Upgrade
Upgrade
composer/symfony/security-httpto a version that resolves this vulnerability.Fixed in 4.4.7 - Upgrade
Upgrade
composer/symfony/securityto a version that resolves this vulnerability.Fixed in 5.0.7 - Upgrade
Upgrade
composer/symfony/securityto a version that resolves this vulnerability.Fixed in 4.4.7 - Upgrade
Upgrade
Symfony (symfony/security-http)to a version that resolves this vulnerability.Fixed in 4.4.7 - Upgrade
Upgrade
Symfony (symfony/security-http)to a version that resolves this vulnerability.Fixed in 5.0.7
Event History
Frequently Asked Questions
What is CVE-2020-5275?
CVE-2020-5275 is a vulnerability in the symfony/security-http package before versions 4.4.7 and 5.0.7.
How does CVE-2020-5275 impact the firewall configuration?
CVE-2020-5275 affects the firewall configuration in Symfony, where it stops checking access control rules as soon as access is granted on an attribute, potentially allowing unauthorized access.
What is the severity level of CVE-2020-5275?
CVE-2020-5275 has a high severity level with a CVSS score of 8.1.
How can I fix CVE-2020-5275?
To fix CVE-2020-5275, you should update the affected symfony/security-http package to version 4.4.7 or 5.0.7.
Where can I find more information about CVE-2020-5275?
You can find more information about CVE-2020-5275 on the Symfony website and the relevant GitHub commits and advisories.