jsonwebtoken vulnerable to signature validation bypass due to insecure default algorithm in jwt.verify()
Moderate severity
GitHub Reviewed
Published
Dec 21, 2022
in
auth0/node-jsonwebtoken
•
Updated Jun 21, 2024
Description
Published to the GitHub Advisory Database
Dec 22, 2022
Reviewed
Dec 22, 2022
Published by the National Vulnerability Database
Dec 22, 2022
Last updated
Jun 21, 2024
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 thenone
algorithm for signature verification.Am I affected?
You will be affected if all the following are true in the
jwt.verify()
function: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 injwt.verify()
options.References