CVE-2021-21424 Prevent user enumeration using Guard or the new Authenticator-based Security

Medium 5.3 Published Updated

Attackers can enumerate valid usernames via inconsistent error responses in Symfony's user switching feature, exposing user existence information.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2021-21424?

CVE-2021-21424 is a medium-severity vulnerability in Fedoraproject Fedora, published on 13 May 2021. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

Symfony is a PHP framework for web and console applications and a set of reusable PHP components. The ability to enumerate users was possible without relevant permissions due to different handling depending on whether the user existed or not when attempting to use the switch users functionality. We now ensure that 403s are returned whether the user exists or not if a user cannot switch to a user or if the user does not exist. The patch for this issue is available for branch 3.4.

Weakness: CWE-203, CWE-200

Which versions are affected by CVE-2021-21424?

35 open source packages ship an affected version, including symfony/security, symfony and lexik/jwt-authentication-bundle. It affects 2 products.

PackageAffectedFixed in
symfony/security PackagistFrom 2.8.03.4.49
symfony/security PackagistFrom 2.8.03.4.49
symfony/security PackagistFrom 4.0.04.4.24
symfony/security PackagistFrom 4.0.04.4.24
symfony/security PackagistFrom 5.0.05.2.8
symfony/security PackagistFrom 5.0.05.2.8
29 more packages
symfony BitnamiFrom 2.8.03.4.48, 4.4.23, 5.2.8
lexik/jwt-authentication-bundle PackagistFrom 2.0.02.10.7
lexik/jwt-authentication-bundle PackagistFrom 2.0.02.10.7
lexik/jwt-authentication-bundle PackagistFrom 2.11.02.11.3
lexik/jwt-authentication-bundle PackagistFrom 2.11.02.11.3
symfony/maker-bundle PackagistFrom 1.27.01.29.2
symfony/maker-bundle PackagistFrom 1.27.01.29.2
symfony/maker-bundle PackagistFrom 1.30.01.31.1
symfony/maker-bundle PackagistFrom 1.30.01.31.1
symfony/security-core PackagistFrom 2.8.03.4.48
symfony/security-core PackagistFrom 2.8.03.4.48
symfony/security-core PackagistFrom 4.0.04.4.23
symfony/security-core PackagistFrom 4.0.04.4.23
symfony/security-core PackagistFrom 5.0.05.2.8
symfony/security-core PackagistFrom 5.0.05.2.8
symfony/security-guard PackagistFrom 2.8.03.4.48
symfony/security-guard PackagistFrom 2.8.03.4.48
symfony/security-guard PackagistFrom 4.0.04.4.23
symfony/security-guard PackagistFrom 4.0.04.4.23
symfony/security-guard PackagistFrom 5.0.05.2.8
symfony/security-guard PackagistFrom 5.0.05.2.8
symfony/security-http PackagistFrom 5.1.05.2.8
symfony/security-http PackagistFrom 5.1.05.2.8
symfony/symfony PackagistFrom 2.8.03.4.49
symfony/symfony PackagistFrom 2.8.03.4.49
symfony/symfony PackagistFrom 4.0.04.4.24
symfony/symfony PackagistFrom 4.0.04.4.24
symfony/symfony PackagistFrom 5.0.05.2.9
symfony/symfony PackagistFrom 5.0.05.2.9

Products include Fedoraproject Fedora, Sensiolabs Symfony.

How do I fix CVE-2021-21424?

Upgrade symfony/security to a fixed version for your release line: 3.4.49, 4.4.24 or 5.2.8.

Is CVE-2021-21424 being exploited?

There is no known exploitation of CVE-2021-21424 in the wild and no public exploit code.

Public exploit code: 2 proofs of concept on GitHub.

All Fedoraproject Fedora vulnerabilities

Sources

Also known as BIT-symfony-2021-21424, DEBIAN-CVE-2021-21424, GHSA-5pv8-ppvj-4h68, UBUNTU-CVE-2021-21424.

Is CVE-2021-21424 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free