HighGHSA-g4m9-5hpf-hx72BIT-symfony-2020-5275CVE-2020-5275

Firewall configured with unanimous strategy was not actually unanimous in Symfony

Published 30 Mar 2020 · Updated 10 Sept 2026

Affected packages

Affected
>=4.4.0 <4.4.7
Fixed in
4.4.7
Update to the fixed version for your release line, for example:composer require symfony/security:^4.4.7
Affected
>=5.0.0 <5.0.7
Fixed in
5.0.7
Update to the fixed version for your release line, for example:composer require symfony/security:^5.0.7
Affected
>=4.4.0 <4.4.7
Fixed in
4.4.7
Update to the fixed version for your release line, for example:composer require symfony/security-http:^4.4.7
Affected
>=5.0.0 <5.0.7
Fixed in
5.0.7
Update to the fixed version for your release line, for example:composer require symfony/security-http:^5.0.7
Affected
>=4.4.0 <4.4.7
Fixed in
4.4.7
Update to the fixed version for your release line, for example:composer require symfony/symfony:^4.4.7
Affected
>=5.0.0 <5.0.7
Fixed in
5.0.7
Update to the fixed version for your release line, for example:composer require symfony/symfony:^5.0.7

Details

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.

Is GHSA-g4m9-5hpf-hx72 in any of your client repos?

Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected symfony/security, and gives you the command that fixes it.

References

Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.