GitHub Advisoryadvisory · npm
GHSA-hjrf-2m68-5959 jsonwebtoken's insecure implementation of key retrieval function could lead to Forgeable Public/Private Tokens from RSA to HMAC
MEDIUM
Official page ↗
- Aliases
- CVE-2022-23541
- Ecosystem
- npm
- Packages
- jsonwebtoken
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L
- Weaknesses
- CWE-1259, CWE-287
- Reviewed
- 2022-12-22
Affected packages
• npm jsonwebtoken: < 9.0.0 → fixed in 9.0.0
Description
Overview
Versions `<=8.5.1` of `jsonwebtoken` library can be misconfigured so that passing a poorly implemented key retrieval function (referring to the `secretOrPublicKey` argument from the readme link) will result in incorrect verification of tokens. There is a possibility of using a different algorithm and key combination in verification than the one that was used to sign the tokens. Specifically, tokens signed with an asymmetric public key could be verified with a symmetric HS256 algorithm. This can lead to successful validation of forged tokens.
Am I affected?
You will be affected if your application is supporting usage of both symmetric key and asymmetric key in jwt.verify() implementation with the same key retrieval function.
How do I fix it?
Update to version 9.0.0.
Will the fix impact my users?
There is no impact for end users
Related
Alias · CVE (1)
- CVE-2022-23541 jsonwebtoken is an implementation of JSON Web Tokens. vulnerability
References
- https://github.com/auth0/node-jsonwebtoken/security/advisories/GHSA-hjrf-2m68-5959 web
- https://nvd.nist.gov/vuln/detail/CVE-2022-23541 advisory
- https://github.com/auth0/node-jsonwebtoken/commit/e1fa9dcc12054a8681db4e6373da1b30cf7016e3 web
- https://github.com/auth0/node-jsonwebtoken package
- https://github.com/auth0/node-jsonwebtoken/releases/tag/v9.0.0 web
- https://security.netapp.com/advisory/ntap-20240621-0007 web