logo

CVE-2022-23540 jsonwebtoken

Package

Manager: npm
Name: jsonwebtoken
Vulnerable Version: >=0 <9.0.0

Severity

Level: Medium

CVSS v3.1: CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:H/A:L

CVSS v4.0: CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:L/VI:H/VA:L/SC:N/SI:N/SA:N

EPSS: 0.00016 pctl0.02487

Details

jsonwebtoken vulnerable to signature validation bypass due to insecure default algorithm in jwt.verify() # 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.

Metadata

Created: 2022-12-22T03:32:59Z
Modified: 2025-02-13T18:33:13Z
Source: https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2022/12/GHSA-qwph-4952-7xr6/GHSA-qwph-4952-7xr6.json
CWE IDs: ["CWE-287", "CWE-327", "CWE-347"]
Alternative ID: GHSA-qwph-4952-7xr6
Finding: F052
Auto approve: 1