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 Published 2022-12-22 Modified 2024-06-24 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

Weakness · CWE (2)

  • CWE-1259 Improper Restriction of Security Token Assignment weakness
  • CWE-287 Improper Authentication weakness

References