CVE-2022-23539 jsonwebtoken unrestricted key type could lead to legacy keys usage
Attackers can bypass JWT signature verification by using insecure key types with mismatched algorithms, requiring developers to upgrade the jsonwebtoken library.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2022-23539?
CVE-2022-23539 is a medium-severity vulnerability in auth0 node-jsonwebtoken, published on 22 Dec 2022. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
Versions `<=8.5.1` of `jsonwebtoken` library could be misconfigured so that legacy, insecure key types are used for signature verification. For example, DSA keys could be used with the RS256 algorithm. You are affected if you are using an algorithm and a key type other than a combination listed in the GitHub Security Advisory as unaffected. This issue has been fixed, please update to version 9.0.0. This version validates for asymmetric key type and algorithm combinations. Please refer to the above mentioned algorithm / key type combinations for the valid secure configuration. After updating to version 9.0.0, if you still intend to continue with signing or verifying tokens using invalid key type/algorithm value combinations, you’ll need to set the `allowInvalidAsymmetricKeyTypes` option to `true` in the `sign()` and/or `verify()` functions.
Weakness: CWE-327
Which versions are affected by CVE-2022-23539?
2 open source packages ship an affected version, including jsonwebtoken. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
jsonwebtoken npm | All versions | 9.0.0 |
jsonwebtoken npm | All versions | 9.0.0 |
Products include Auth0 Jsonwebtoken.
How do I fix CVE-2022-23539?
Upgrade jsonwebtoken to 9.0.0 or later.
Is CVE-2022-23539 being exploited?
There is no known exploitation of CVE-2022-23539 in the wild and no public exploit code.
Other vulnerabilities in auth0 node-jsonwebtoken
- CVE-2015-9235 Verification Bypass in jsonwebtoken
- CVE-2022-23540 jsonwebtoken vulnerable to signature validation bypass due to insecure default algorithm in jwt.verify()
- CVE-2022-23541 jsonwebtoken's insecure implementation of key retrieval function could lead to Forgeable Public/Private Tokens from RSA to HMAC
Sources
Also known as GHSA-8cf7-32gw-wr33, ROOT-APP-NPM-CVE-2022-23539.