Every CVE Search/ Get API key

CVE-2015-9235

Verification Bypass in jsonwebtoken

9.8 CriticalPublic exploitFix available

CVE-2015-9235 is a critical vulnerability (CVSS 9.8) in Auth0 Jsonwebtoken, published May 29, 2018. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 8.52%, the 95th percentile. Fixed in jsonwebtoken 4.2.2.

In jsonwebtoken node module before 4.2.2 it is possible for an attacker to bypass verification when a token digitally signed with an asymmetric key (RS/ES family) of algorithms but instead the attacker send a token digitally signed with a symmetric algorithm (HS* family).

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

8.52%Down 9.7 points since Feb 4, 2022
90%50%10%1%

What each source reports

NVD Score used 9.8

In jsonwebtoken node module before 4.2.2 it is possible for an attacker to bypass verification when a token digitally signed with an asymmetric key (RS/ES family) of algorithms but instead the attacker send a token digitally signed with a symmetric algorithm (HS* family).

Record
CVE-2015-9235
CVSS 3.0
9.8 CriticalCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 2.0
7.5 HighAV:N/AC:L/Au:N/C:P/I:P/A:P
Weakness
CWE-20, CWE-327
Updated
2026-11-02
CVE List No score

In jsonwebtoken node module before 4.2.2 it is possible for an attacker to bypass verification when a token digitally signed with an asymmetric key (RS/ES family) of algorithms but instead the attacker send a token digitally signed with a symmetric algorithm (HS* family).

Record
CVE-2015-9235
Weakness
CWE-20
Updated
2026-11-02
EUVDEUVD-2018-0569 No score

In jsonwebtoken node module before 4.2.2 it is possible for an attacker to bypass verification when a token digitally signed with an asymmetric key (RS/ES family) of algorithms but instead the attacker send a token digitally signed with a symmetric algorithm (HS* family).

Record
EUVD-2018-0569
Updated
2026-11-03
GitHub AdvisoriesGHSA-c7hr-j4mj-j2w6 No score

Verification Bypass in jsonwebtoken

Versions 4.2.1 and earlier of jsonwebtoken are affected by a verification bypass vulnerability. This is a result of weak validation of the JWT algorithm type, occuring when an attacker is allowed to arbitrarily specify the JWT algorithm.

Recommendation

Update to version 4.2.2 or later.

Record
GHSA-c7hr-j4mj-j2w6
Weakness
CWE-20
Updated
2026-11-02
OSVCLSA-2026-1774657373 No score

TuxCare security update for jsonwebtoken (1 CVE)

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

Record
CLSA-2026-1774657373
Updated
2026-11-02
OSVCLSA-2026-1787321999 No score

TuxCare security update for jsonwebtoken (2 CVEs)

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

Record
CLSA-2026-1787321999
Updated
2026-11-02
OSVCLSA-2026-1787322010 No score

TuxCare security update for jsonwebtoken (3 CVEs)

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

Record
CLSA-2026-1787322010
Updated
2026-11-02
OSVGHSA-c7hr-j4mj-j2w6 No score

Verification Bypass in jsonwebtoken

Versions 4.2.1 and earlier of jsonwebtoken are affected by a verification bypass vulnerability. This is a result of weak validation of the JWT algorithm type, occuring when an attacker is allowed to arbitrarily specify the JWT algorithm.

Recommendation

Update to version 4.2.2 or later.

Record
GHSA-c7hr-j4mj-j2w6
Weakness
CWE-20
Updated
2026-11-02
OSVROOT-APP-NPM-CVE-2015-9235 No score

CVE-2015-9235 in jsonwebtoken - Patched by Root

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

Record
ROOT-APP-NPM-CVE-2015-9235
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
jsonwebtoken
npm
before 4.2.2
4.2.2
jsonwebtoken
TuxCare:npm
0.4.1-tuxcare.0 up to 0.4.1-tuxcare.1, plus listed versions
0.4.1
0.4.1-tuxcare.1
jsonwebtoken
TuxCare:npm
0.4.0-tuxcare.0 up to 0.4.0-tuxcare.7, 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.50.4.0-tuxcare.6
0.4.0-tuxcare.7
jsonwebtoken
TuxCare:npm
0.3.0-tuxcare.0 up to 0.3.0-tuxcare.3, plus listed versions
0.3.00.3.0-tuxcare.10.3.0-tuxcare.2
0.3.0-tuxcare.3
jsonwebtoken
Root:npm
before 0.1.0-aikido.3
0.1.0-aikido.30.4.0-aikido.30.1.0-aikido.50.1.0-aikido.40.4.0-aikido.4
@rootio/jsonwebtoken
Root:npm
before 0.1.0-root.io.1
0.1.0-root.io.10.4.0-root.io.10.1.0-root.io.20.4.0-root.io.20.1.0-root.io.30.4.0-root.io.30.1.0-root.io.50.1.0-root.io.40.4.0-root.io.4

Public exploits

Links only. Every CVE stores no exploit code.

Public exploits
SourceLinkDate
PoC in GitHubNxvh1337/CVE-2015-9235_JWT_key_confusion2023-09-10
PoC in GitHubaalex954/jwt-key-confusion-poc2022-01-13
PoC in GitHubtierChampion/POC_CVE-2015-92352026-03-11
PoC in GitHubz-bool/Venom-JWT2025-01-27

History

History
WhenChangedSources
2026-11-03aliasesEUVD
2026-11-02createdCVE List, GitHub Advisories, NVD, OSV, PoC in GitHub

References

MoveEnter Open