Update dependency jsonwebtoken to v9 [SECURITY] - #450
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
Contributor
Author
⚠ Artifact update problemRenovate failed to update artifacts related to this branch. You probably do not want to merge this PR as-is. ♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
The artifact failure details are included below: File name: package-lock.jsonFile name: package.jsonFile name: package.json |
renovate
Bot
force-pushed
the
renovate/npm-jsonwebtoken-vulnerability
branch
from
August 10, 2025 12:45
b3bfc51 to
979094e
Compare
Contributor
Author
|
renovate
Bot
force-pushed
the
renovate/npm-jsonwebtoken-vulnerability
branch
from
October 22, 2025 00:08
979094e to
30cd18a
Compare
renovate
Bot
force-pushed
the
renovate/npm-jsonwebtoken-vulnerability
branch
from
December 31, 2025 17:27
30cd18a to
a7f8187
Compare
renovate
Bot
force-pushed
the
renovate/npm-jsonwebtoken-vulnerability
branch
from
February 12, 2026 15:44
a7f8187 to
43fafbe
Compare
renovate
Bot
force-pushed
the
renovate/npm-jsonwebtoken-vulnerability
branch
from
March 30, 2026 17:32
43fafbe to
c292ade
Compare
renovate
Bot
force-pushed
the
renovate/npm-jsonwebtoken-vulnerability
branch
from
May 12, 2026 11:50
c292ade to
ef7bf71
Compare
renovate
Bot
force-pushed
the
renovate/npm-jsonwebtoken-vulnerability
branch
from
May 28, 2026 16:00
ef7bf71 to
ae179f0
Compare
renovate
Bot
force-pushed
the
renovate/npm-jsonwebtoken-vulnerability
branch
from
June 11, 2026 14:59
ae179f0 to
328d9a5
Compare
renovate
Bot
force-pushed
the
renovate/npm-jsonwebtoken-vulnerability
branch
from
July 12, 2026 11:07
328d9a5 to
7c82b08
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
8.5.1→9.0.0jsonwebtoken unrestricted key type could lead to legacy keys usage
CVE-2022-23539 / GHSA-8cf7-32gw-wr33
More information
Details
Overview
Versions
<=8.5.1ofjsonwebtokenlibrary could be misconfigured so that legacy, insecure key types are used for signature verification. For example, DSA keys could be used with the RS256 algorithm.Am I affected?
You are affected if you are using an algorithm and a key type other than the combinations mentioned below
And for Elliptic Curve algorithms:
algHow do I fix it?
Update to version 9.0.0. This version validates for asymmetric key type and algorithm combinations. Please refer to the above mentioned algorithm / key type combinations for the valid secure configuration. After updating to version 9.0.0, If you still intend to continue with signing or verifying tokens using invalid key type/algorithm value combinations, you’ll need to set the
allowInvalidAsymmetricKeyTypesoption totruein thesign()and/orverify()functions.Will the fix impact my users?
There will be no impact, if you update to version 9.0.0 and you already use a valid secure combination of key type and algorithm. Otherwise, use the
allowInvalidAsymmetricKeyTypesoption totruein thesign()andverify()functions to continue usage of invalid key type/algorithm combination in 9.0.0 for legacy compatibility.Severity
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
jsonwebtoken's insecure implementation of key retrieval function could lead to Forgeable Public/Private Tokens from RSA to HMAC
CVE-2022-23541 / GHSA-hjrf-2m68-5959
More information
Details
Overview
Versions
<=8.5.1ofjsonwebtokenlibrary can be misconfigured so that passing a poorly implemented key retrieval function (referring to thesecretOrPublicKeyargument 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
Severity
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:LReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
jsonwebtoken vulnerable to signature validation bypass due to insecure default algorithm in jwt.verify()
CVE-2022-23540 / GHSA-qwph-4952-7xr6
More information
Details
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 thenonealgorithm for signature verification.Am I affected?
You will be affected if all the following are true in the
jwt.verify()function: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
nonealgorithm. If you need 'none' algorithm, you have to explicitly specify that injwt.verify()options.Severity
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:H/A:LReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
auth0/node-jsonwebtoken (jsonwebtoken)
v9.0.0Compare Source
Breaking changes: See Migration from v8 to v9
Breaking changes
8345030]8345030)ecdf6cc]ecdf6cc)Security fixes
Arbitrary File Write via verify function- CVE-2022-23529Insecure default algorithm in jwt.verify() could lead to signature validation bypass- CVE-2022-23540Insecure implementation of key retrieval function could lead to Forgeable Public/Private Tokens from RSA to HMAC- CVE-2022-23541Unrestricted key type could lead to legacy keys usage- CVE-2022-23539Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.