firebase/php-jwt · Security
Firebase PHP-JWT key/algorithm type confusion
- GHSA ID
- GHSA-8xf4-w7qw-pjjw
- CVE ID
- CVE-2021-46743
- Severity
- critical
- Published
- Updated
- CVSS
- 9.1 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
- CVSS v3
- 9.1 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
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.
CWEs
- CWE-347 · Improper Verification of Cryptographic Signature
- CWE-843 · Access of Resource Using Incompatible Type ('Type Confusion')
References
- https://nvd.nist.gov/vuln/detail/CVE-2021-46743 ↗
- https://github.com/firebase/php-jwt/issues/351 ↗
- https://github.com/firebase/php-jwt/releases/tag/v6.0.0 ↗
- https://github.com/FriendsOfPHP/security-advisories/blob/master/firebase/php-jwt/CVE-2021-46743.yaml ↗
- https://github.com/advisories/GHSA-8xf4-w7qw-pjjw ↗