CVE-2015-9235
Verification Bypass in jsonwebtoken
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
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 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 7.5 High
AV: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
| Package | Affected | Fixed |
|---|---|---|
jsonwebtokennpm |
before 4.2.2 | 4.2.2 |
jsonwebtokenTuxCare:npm |
0.4.1-tuxcare.0 up to 0.4.1-tuxcare.1, plus listed versions 0.4.1 |
0.4.1-tuxcare.1 |
jsonwebtokenTuxCare: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 |
jsonwebtokenTuxCare: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 |
jsonwebtokenRoot: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/jsonwebtokenRoot: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.
| Source | Link | Date |
|---|---|---|
| PoC in GitHub | Nxvh1337/CVE-2015-9235_JWT_key_confusion | 2023-09-10 |
| PoC in GitHub | aalex954/jwt-key-confusion-poc | 2022-01-13 |
| PoC in GitHub | tierChampion/POC_CVE-2015-9235 | 2026-03-11 |
| PoC in GitHub | z-bool/Venom-JWT | 2025-01-27 |
History
| When | Changed | Sources |
|---|---|---|
| 2026-11-03 | aliases | EUVD |
| 2026-11-02 | created | CVE List, GitHub Advisories, NVD, OSV, PoC in GitHub |
References
nodesecurity.io/advisories/17
github.com/auth0/node-jsonwebtoken/commit/1bb584bc382295eeb7ee8c4452a673a77a68b687
auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries
timmclean.net/2015/02/25/jwt-alg-none.html
nvd.nist.gov/vuln/detail/CVE-2015-9235
github.com/advisories/GHSA-c7hr-j4mj-j2w6
npmjs.com/advisories/17