CVE-2026-16028 in Protocol::HTTP2Информация

Сводка

по VulDB • 08.09.2026

В протоколе HTTP2 версии до 1.14 для Perl возможна утечка памяти (memory exhaustion) через закрытые потоки, которые stream_state никогда не удаляет из таблицы потоков соединения.

Когда поток переходит в состояние CLOSED, stream_state освобождает слот конкурентности и очищает большинство ключей потока, однако сама запись остается в таблице потоков соединения, и ничего в дистрибутиве её не удаляет. Идентификаторы потоков монотонно возрастают, поэтому клиент может бесконечно открывать и закрывать потоки в рамках одного соединения; каждое закрытие оставляет остаточную запись, которая сохраняется на протяжении всего времени жизни соединения.

Параметр SETTINGS_MAX_CONCURRENT_STREAMS не ограничивает этот рост. Этот параметр устанавливает предел количества одновременно активных (live) потоков и соблюдается строго, тогда как накопление происходит за счет потоков, которые лимит уже освободил; таким образом память накапливается при том, что уровень конкурентности никогда не превышает единицу. Клиент использует ту же таблицу и растет аналогичным образом в случае взаимодействия с недружелюбным сервером.

При измерении на сервере, построенном на основе этого модуля, примерно 920 байт сохраняются для каждого закрытого потока при передаче по сети около 19 байт; следовательно, 100 000 последовательных потоков в одном соединении увеличивают объем памяти сервера (server resident memory) примерно на 88 МБ. Эти потоки являются обычными запросами, которые приложение принимает и завершает.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Ответственный

CPANSec

Резервировать

17.07.2026

Раскрытие

07.09.2026

Модерация

принято

Вход

VDB-399665

EPSS

0.00000

KEV

Нет

Деятельности

Низкий

Источники

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!