CVE-2021-46743 Firebase PHP-JWT key/algorithm type confusion
Attackers can forge JWT tokens by exploiting algorithm confusion in the kid header when multiple key types are loaded, bypassing authentication.
- 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-46743?
CVE-2021-46743 is a critical vulnerability in n/a, published on 29 Mar 2022. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
In Firebase PHP-JWT before 6.0.0, an algorithm-confusion issue (e.g., RS256 / HS256) exists via the kid (aka Key ID) header, when multiple types of keys are loaded in a key ring. This allows an attacker to forge tokens that validate under the incorrect key. NOTE: this provides a straightforward way to use the PHP-JWT library unsafely, but might not be considered a vulnerability in the library itself.
Weakness: CWE-843
Which versions are affected by CVE-2021-46743?
2 open source packages ship an affected version, including firebase/php-jwt. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
firebase/php-jwt Packagist | All versions | 6.0.0 |
firebase/php-jwt Packagist | All versions | 6.0.0 |
Products include Google Firebase Php-Jwt.
How do I fix CVE-2021-46743?
Upgrade firebase/php-jwt to 6.0.0 or later.
Is CVE-2021-46743 being exploited?
There is no known exploitation of CVE-2021-46743 in the wild and no public exploit code.
Other vulnerabilities in n/a
Sources
Also known as GHSA-8xf4-w7qw-pjjw.