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

exploitDog

github логотип

GHSA-468c-vq7p-gh64

Опубликовано: 20 мая 2026
Источник: github
Github: Прошло ревью
CVSS4: 8.2

Описание

Plug: Unbounded buffer accumulation in multipart header parsing causes denial of service

Summary

An Allocation of Resources Without Limits or Throttling vulnerability in Plug.Conn.read_part_headers/2 allows an unauthenticated attacker to exhaust server memory by sending a crafted multipart/form-data request, causing a denial of service.

Details

Plug.Conn.read_part_headers/2 in lib/plug/conn.ex does not obey its :length parameter. There is no upper bound on the size of the accumulated buffer. By contrast, the sibling function read_part_body has an explicit byte_size(acc) > length guard that stops accumulation once a limit is reached. No such guard exists in read_part_headers.

Impact

This is a denial-of-service vulnerability. Any application using Plug.Parsers with the :multipart parser, or calling Plug.Conn.read_part_headers/2 directly, is affected. An unauthenticated remote attacker can trigger the issue by sending crafted HTTP requests with no special privileges.

References

Пакеты

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

plug

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

>= 1.4.0, < 1.15.4

1.15.4

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

plug

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

>= 1.16.0, < 1.16.3

1.16.3

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

plug

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

>= 1.17.0, < 1.17.1

1.17.1

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

plug

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

>= 1.18.0, < 1.18.2

1.18.2

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

plug

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

>= 1.19.0, < 1.19.2

1.19.2

EPSS

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

8.2 High

CVSS4

Дефекты

CWE-770

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

nvd
3 месяца назад

Allocation of Resources Without Limits or Throttling vulnerability in plug_project plug allows denial of service via unbounded buffer accumulation in multipart header parsing. 'Elixir.Plug.Conn':read_part_headers/2 in lib/plug/conn.ex does not obey its :length parameter. There is no upper bound on the size of the accumulated buffer. By contrast, the sibling function read_part_body has an explicit byte_size(acc) > length guard that stops accumulation once a limit is reached. No such guard exists in read_part_headers. An unauthenticated remote attacker can exhaust server memory by sending a crafted multipart/form-data request, causing a denial of service. This issue affects plug from 1.4.0 before 1.15.4, 1.16.3, 1.17.1, 1.18.2, and 1.19.2.

EPSS

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

8.2 High

CVSS4

Дефекты

CWE-770