Уязвимость в Starman для Perl позволяет исчерпать память через chunked-запросы (CVE-2026-115824)
В Perl-сервере Starman версий до 0.4019 обнаружена уязвимость, позволяющая удалённому атакующему исчерпать память рабочего процесса одним соединением. Проблема вызвана неограниченной буферизацией chunked-тел запросов. Затрагивает все проекты, использующие уязвимые версии Starman в качестве веб-сервера.
Подробности
Starman — популярный preforking-сервер PSGI/Plack для Perl, часто используемый для запуска веб-приложений. Уязвимость кроется в декодере chunked-тел запросов. При обработке chunked-передачи декодер удерживает каждый чанк в памяти до тех пор, пока не получит чанк целиком вместе с завершающей последовательностью CRLF. При этом длина строки с размером чанка (chunk-size line) никак не ограничивается. В результате возможны два сценария атаки. В первом клиент объявляет огромный размер чанка и продолжает потоковую передачу данных — буфер растёт по мере поступления новых байтов. Во втором атакующий отправляет строку с размером чанка, которая никогда не заканчивается, — буфер также неограниченно увеличивается, пока соединение остаётся открытым. Ключевая опасность в том, что для исчерпания памяти достаточно одного-единственного соединения: удалённый атакующий может «положить» рабочий процесс, что ведёт к отказу в обслуживании (DoS). Значение CVSS в записи CVE не указано.Что делать
Основная рекомендация — обновить Starman до версии 0.4019 или более поздней, в которой устранена неограниченная буферизация chunked-тел. Перед обновлением стоит проверить, какая версия модуля используется в вашем окружении (например, через `perldoc -m Starman` или просмотр версии в CPAN-зависимостях), и убедиться, что в цепочке развёртывания не зафиксирована старая версия. Если немедленное обновление невозможно, в качестве временных митигаций имеет смысл ограничить размер принимаемых запросов и тел на уровне обратного прокси или балансировщика (nginx, HAProxy и т. п.), а также ограничить длительность и число одновременных соединений от одного клиента. Это снижает вероятность эксплуатации, но не устраняет саму уязвимость, поэтому обновление остаётся приоритетным. Итог: CVE-2026-115824 — это DoS-уязвимость в Starman для Perl, эксплуатируемая одним соединением за счёт неограниченной буферизации chunked-запросов. Администраторам Perl-сервисов на Starman следует как можно скорее обновиться до версии 0.4019+ и проверить настройки ограничений на уровне фронтенд-прокси.Источник: CVE Project (cvelistV5)
