First published: Thu Dec 22 2022(Updated: )
# Overview In versions <=8.5.1 of jsonwebtoken library, lack of algorithm definition and a falsy secret or key in the `jwt.verify()` function can lead to signature validation bypass due to defaulting to the `none` algorithm for signature verification. # Am I affected? You will be affected if all the following are true in the `jwt.verify()` function: - a token with no signature is received - no algorithms are specified - a falsy (e.g. null, false, undefined) secret or key is passed # How do I fix it? Update to version 9.0.0 which removes the default support for the none algorithm in the `jwt.verify()` method. # Will the fix impact my users? There will be no impact, if you update to version 9.0.0 and you don’t need to allow for the `none` algorithm. If you need 'none' algorithm, you have to explicitly specify that in `jwt.verify()` options.
Credit: security-advisories@github.com security-advisories@github.com
Affected Software | Affected Version | How to fix |
---|---|---|
redhat/jsonwebtoken | <9.0.0 | 9.0.0 |
IBM Cognos Analytics | <=12.0-12.0.2 | |
IBM Cognos Analytics | <=11.2.0-11.2.4 FP2 | |
npm/jsonwebtoken | <9.0.0 | 9.0.0 |
jsonwebtoken | <=8.5.1 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2022-23540 has been rated with a high severity level due to the potential for signature validation bypass.
To fix CVE-2022-23540, upgrade the jsonwebtoken library to version 9.0.0 or later.
CVE-2022-23540 affects jsonwebtoken versions 8.5.1 and earlier.
CVE-2022-23540 can allow attackers to bypass signature verification, compromising the security of applications relying on the jsonwebtoken library.
Affected products include Auth0's jsonwebtoken library and IBM's Cognos Analytics versions up to 12.0.2.