Every CVE Search/ Get API key

CVE-2022-23540

jsonwebtoken vulnerable to signature validation bypass due to insecure default algorithm in jwt.verify()

6.4 MediumFix available

In versions <=8.5.1 of jsonwebtoken library, lack of algorithm definition in the jwt.verify() function can lead to signature validation bypass due to defaulting to the none algorithm for signature verification. Users are affected if you do not specify algorithms in the jwt.verify() function. This issue has been fixed, please update to version 9.0.0 which removes the default support for the none algorithm in the jwt.verify() method. 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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
Low
Integrity
High
Availability
Low

Exploit likelihood

0.57%Down 0.3 points since Dec 23, 2022
90%50%10%1%

What each source reports

CVE List Score used 6.4

jsonwebtoken vulnerable to signature validation bypass due to insecure default algorithm in jwt.verify()

In versions <=8.5.1 of jsonwebtoken library, lack of algorithm definition in the jwt.verify() function can lead to signature validation bypass due to defaulting to the none algorithm for signature verification. Users are affected if you do not specify algorithms in the jwt.verify() function. This issue has been fixed, please update to version 9.0.0 which removes the default support for the none algorithm in the jwt.verify() method. 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.

Record
CVE-2022-23540
CVSS 3.1
6.4 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:H/A:L
Weakness
CWE-287
Updated
2026-11-02
EUVDEUVD-2022-7728 6.4

In versions <=8.5.1 of jsonwebtoken library, lack of algorithm definition in the jwt.verify() function can lead to signature validation bypass due to defaulting to the none algorithm for signature verification. Users are affected if you do not specify algorithms in the jwt.verify() function. This issue has been fixed, please update to version 9.0.0 which removes the default support for the none algorithm in the jwt.verify() method. 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.

Record
EUVD-2022-7728
CVSS 3.1
6.4 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:H/A:L
Updated
2026-11-03
GitHub AdvisoriesGHSA-qwph-4952-7xr6 6.4

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.

Record
GHSA-qwph-4952-7xr6
CVSS 3.1
6.4 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:H/A:L
Weakness
CWE-287, CWE-327, CWE-347
Updated
2026-11-02
GitHub AdvisoriesGHSA-73v8-v6g4-vrpm No score

Arbitrary File Overwrite in decompress-zip

Vulnerable versions of decompress-zip are affected by the Zip-Slip vulnerability, an arbitrary file write vulnerability. The vulnerability occurs because decompress-zip does not verify that extracted files do not resolve to targets outside of the extraction root directory.

Recommendation

For decompress-zip 0.2.x upgrade to 0.2.2 or later. For decompress-zip 0.3.x upgrade to 0.3.2 or later.

Record
GHSA-73v8-v6g4-vrpm
Updated
2026-11-02
NVD 6.4

In versions <=8.5.1 of jsonwebtoken library, lack of algorithm definition in the jwt.verify() function can lead to signature validation bypass due to defaulting to the none algorithm for signature verification. Users are affected if you do not specify algorithms in the jwt.verify() function. This issue has been fixed, please update to version 9.0.0 which removes the default support for the none algorithm in the jwt.verify() method. 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.

Record
CVE-2022-23540
CVSS 3.1
6.4 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:H/A:L
CVSS 3.1
7.6 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L
Weakness
CWE-287, CWE-347
Updated
2026-11-02
OSV 6.4

jsonwebtoken vulnerable to signature validation bypass due to insecure default algorithm in jwt.verify()

In versions <=8.5.1 of jsonwebtoken library, lack of algorithm definition in the jwt.verify() function can lead to signature validation bypass due to defaulting to the none algorithm for signature verification. Users are affected if you do not specify algorithms in the jwt.verify() function. This issue has been fixed, please update to version 9.0.0 which removes the default support for the none algorithm in the jwt.verify() method. 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.

Record
CVE-2022-23540
CVSS 3.1
6.4 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:H/A:L
Weakness
CWE-287
Updated
2026-11-02
Show 10 moreShow less
OSVGHSA-qwph-4952-7xr6 6.4

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.

Record
GHSA-qwph-4952-7xr6
CVSS 3.1
6.4 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:H/A:L
Weakness
CWE-287, CWE-327, CWE-347
Updated
2026-11-02
OSVCLSA-2026-1774225215 No score

TuxCare security update for decompress-zip (1 CVE)

TuxCare rebuilt decompress-zip to address 1 CVE. Fixed in 0.1.0-tuxcare.1.

Record
CLSA-2026-1774225215
Updated
2026-11-02
OSVCLSA-2026-1774398084 No score

TuxCare security update for git-clone (5 CVEs)

TuxCare rebuilt git-clone to address 5 CVEs. Fixed in 0.1.0-tuxcare.1.

Record
CLSA-2026-1774398084
Updated
2026-11-02
OSVCLSA-2026-1774657372 No score

TuxCare security update for jsonwebtoken (3 CVEs)

TuxCare rebuilt jsonwebtoken to address 3 CVEs. Fixed in 8.5.1-tuxcare.1.

Record
CLSA-2026-1774657372
Updated
2026-11-02
OSVCLSA-2026-1776818206 No score

TuxCare security update for jsonwebtoken (2 CVEs)

TuxCare rebuilt jsonwebtoken to address 2 CVEs. Fixed in 0.4.0-tuxcare.6.

Record
CLSA-2026-1776818206
Updated
2026-11-02
OSVCLSA-2026-1776818208 No score

TuxCare security update for jsonwebtoken (3 CVEs)

TuxCare rebuilt jsonwebtoken to address 3 CVEs. Fixed in 0.4.1-tuxcare.3.

Record
CLSA-2026-1776818208
Updated
2026-11-02
OSVCLSA-2026-1784683085 No score

TuxCare security update for jsonwebtoken (1 CVE)

TuxCare rebuilt jsonwebtoken to address 1 CVE. Fixed in 0.3.0-tuxcare.1.

Record
CLSA-2026-1784683085
Updated
2026-11-02
OSVCLSA-2026-1784769530 No score

TuxCare security update for jsonwebtoken (1 CVE)

TuxCare rebuilt jsonwebtoken to address 1 CVE. Fixed in 0.1.0-tuxcare.1.

Record
CLSA-2026-1784769530
Updated
2026-11-02
OSVGHSA-73v8-v6g4-vrpm No score

Arbitrary File Overwrite in decompress-zip

Vulnerable versions of decompress-zip are affected by the Zip-Slip vulnerability, an arbitrary file write vulnerability. The vulnerability occurs because decompress-zip does not verify that extracted files do not resolve to targets outside of the extraction root directory.

Recommendation

For decompress-zip 0.2.x upgrade to 0.2.2 or later. For decompress-zip 0.3.x upgrade to 0.3.2 or later.

Record
GHSA-73v8-v6g4-vrpm
Updated
2026-11-02
OSVROOT-APP-NPM-CVE-2022-23540 No score

CVE-2022-23540 in jsonwebtoken - Patched by Root

Root has patched CVE-2022-23540 in the jsonwebtoken package for Root:npm. Multiple fixed versions available.

Record
ROOT-APP-NPM-CVE-2022-23540
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
decompress-zip
npm
before 0.2.2
0.2.2
decompress-zip
npm
0.3.0 up to 0.3.2
0.3.2
jsonwebtoken
npm
before 9.0.0
9.0.0
decompress-zip
TuxCare:npm
0.1.0-tuxcare.0 up to 0.1.0-tuxcare.1, plus listed versions
0.1.0
0.1.0-tuxcare.1
jsonwebtoken
TuxCare:npm
From an advisory covering 3 CVEs
8.5.1-tuxcare.0 up to 8.5.1-tuxcare.1, plus listed versions
8.5.1
8.5.1-tuxcare.1
jsonwebtoken
TuxCare:npm
From an advisory covering 2 CVEs
0.4.0-tuxcare.0 up to 0.4.0-tuxcare.6, plus listed versions
0.4.00.4.0-tuxcare.10.4.0-tuxcare.20.4.0-tuxcare.30.4.0-tuxcare.40.4.0-tuxcare.5
0.4.0-tuxcare.6
jsonwebtoken
TuxCare:npm
From an advisory covering 3 CVEs
0.4.1-tuxcare.0 up to 0.4.1-tuxcare.3, plus listed versions
0.4.10.4.1-tuxcare.10.4.1-tuxcare.2
0.4.1-tuxcare.3
jsonwebtoken
TuxCare:npm
0.3.0-tuxcare.0 up to 0.3.0-tuxcare.1, plus listed versions
0.3.0
0.3.0-tuxcare.1
jsonwebtoken
TuxCare:npm
0.1.0-tuxcare.0 up to 0.1.0-tuxcare.1, plus listed versions
0.1.0
0.1.0-tuxcare.1
jsonwebtoken
Root:npm
before 8.2.0-aikido.2
8.2.0-aikido.28.5.1-aikido.48.5.1-aikido.58.2.0-aikido.3
@rootio/jsonwebtoken
Root:npm
before 8.5.1-root.io.3
8.5.1-root.io.38.2.0-root.io.18.2.0-root.io.28.5.1-root.io.48.5.1-root.io.58.2.0-root.io.3

History

History
RecordedChangedSources
affected, facts
affected
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2022-23540 is a medium vulnerability (CVSS 6.4) in Auth0 Jsonwebtoken, published September 2, 2020. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.57%, the 47th percentile. Fixed in decompress-zip 0.2.2.

References

Show 5 moreShow less
MoveEnter Open