Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-qwph-4952-7xr6

Опубликовано: 22 дек. 2022
Источник: github
Github: Прошло ревью
CVSS3: 6.4

Описание

jsonwebtoken vulnerable to signature validation bypass due to insecure default algorithm in jwt.verify()

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 the none algorithm for signature verification.

Am I affected?

You will be affected if all the following are true in the jwt.verify() function:

  • a token with no signature is received
  • no algorithms are specified
  • a falsy (e.g. null, false, undefined) secret or key is passed

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 none algorithm. If you need 'none' algorithm, you have to explicitly specify that in jwt.verify() options.

Пакеты

Наименование

jsonwebtoken

npm
Затронутые версииВерсия исправления

< 9.0.0

9.0.0

EPSS

Процентиль: 3%
0.00017
Низкий

6.4 Medium

CVSS3

Дефекты

CWE-287
CWE-327
CWE-347

Связанные уязвимости

CVSS3: 6.4
redhat
около 3 лет назад

In versions `<=8.5.1` of `jsonwebtoken` library, lack of algorithm definition in the `jwt.verify()` function can lead to signature validation bypass due to defaulting to the `none` algorithm for signature verification. Users are affected if you do not specify algorithms in the `jwt.verify()` function. This issue has been fixed, please update to version 9.0.0 which removes the default support for the none algorithm in the `jwt.verify()` method. There will be no impact, if you update to version 9.0.0 and you don’t need to allow for the `none` algorithm. If you need 'none' algorithm, you have to explicitly specify that in `jwt.verify()` options.

CVSS3: 6.4
nvd
около 3 лет назад

In versions `<=8.5.1` of `jsonwebtoken` library, lack of algorithm definition in the `jwt.verify()` function can lead to signature validation bypass due to defaulting to the `none` algorithm for signature verification. Users are affected if you do not specify algorithms in the `jwt.verify()` function. This issue has been fixed, please update to version 9.0.0 which removes the default support for the none algorithm in the `jwt.verify()` method. There will be no impact, if you update to version 9.0.0 and you don’t need to allow for the `none` algorithm. If you need 'none' algorithm, you have to explicitly specify that in `jwt.verify()` options.

EPSS

Процентиль: 3%
0.00017
Низкий

6.4 Medium

CVSS3

Дефекты

CWE-287
CWE-327
CWE-347