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

exploitDog

github логотип

GHSA-mh63-6h87-95cp

Опубликовано: 21 мар. 2025
Источник: github
Github: Прошло ревью
CVSS4: 8.7
CVSS3: 7.5

Описание

jwt-go allows excessive memory allocation during header parsing

Summary

Function parse.ParseUnverified currently splits (via a call to strings.Split) its argument (which is untrusted data) on periods.

As a result, in the face of a malicious request whose Authorization header consists of Bearer followed by many period characters, a call to that function incurs allocations to the tune of O(n) bytes (where n stands for the length of the function's argument), with a constant factor of about 16. Relevant weakness: CWE-405: Asymmetric Resource Consumption (Amplification)

Details

See parse.ParseUnverified

Impact

Excessive memory allocation

Пакеты

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

github.com/golang-jwt/jwt/v5

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

>= 5.0.0-rc.1, < 5.2.2

5.2.2

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

github.com/golang-jwt/jwt/v4

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

< 4.5.2

4.5.2

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

github.com/golang-jwt/jwt

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

>= 3.2.0, <= 3.2.2

Отсутствует

EPSS

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

8.7 High

CVSS4

7.5 High

CVSS3

Дефекты

CWE-405

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

CVSS3: 7.5
ubuntu
3 месяца назад

golang-jwt is a Go implementation of JSON Web Tokens. Starting in version 3.2.0 and prior to versions 5.2.2 and 4.5.2, the function parse.ParseUnverified splits (via a call to strings.Split) its argument (which is untrusted data) on periods. As a result, in the face of a malicious request whose Authorization header consists of Bearer followed by many period characters, a call to that function incurs allocations to the tune of O(n) bytes (where n stands for the length of the function's argument), with a constant factor of about 16. This issue is fixed in 5.2.2 and 4.5.2.

CVSS3: 7.5
redhat
3 месяца назад

golang-jwt is a Go implementation of JSON Web Tokens. Starting in version 3.2.0 and prior to versions 5.2.2 and 4.5.2, the function parse.ParseUnverified splits (via a call to strings.Split) its argument (which is untrusted data) on periods. As a result, in the face of a malicious request whose Authorization header consists of Bearer followed by many period characters, a call to that function incurs allocations to the tune of O(n) bytes (where n stands for the length of the function's argument), with a constant factor of about 16. This issue is fixed in 5.2.2 and 4.5.2.

CVSS3: 7.5
nvd
3 месяца назад

golang-jwt is a Go implementation of JSON Web Tokens. Starting in version 3.2.0 and prior to versions 5.2.2 and 4.5.2, the function parse.ParseUnverified splits (via a call to strings.Split) its argument (which is untrusted data) on periods. As a result, in the face of a malicious request whose Authorization header consists of Bearer followed by many period characters, a call to that function incurs allocations to the tune of O(n) bytes (where n stands for the length of the function's argument), with a constant factor of about 16. This issue is fixed in 5.2.2 and 4.5.2.

CVSS3: 7.5
msrc
3 месяца назад

Описание отсутствует

CVSS3: 7.5
debian
3 месяца назад

golang-jwt is a Go implementation of JSON Web Tokens. Starting in vers ...

EPSS

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

8.7 High

CVSS4

7.5 High

CVSS3

Дефекты

CWE-405