CVE-2026-115825: уязвимость в HTTP::Server::PSGI для Perl позволяет обрушить сервер одним запросом
В марте 2026 года в каталоге CVE Project появилась запись об уязвимости CVE-2026-115825, затрагивающей популярный Perl-модуль HTTP::Server::PSGI — реализацию PSGI-сервера, используемую в ряде веб-приложений и встроенных сервисов на Perl. Проблема относится к классу отказов в обслуживании (DoS) и не требует аутентификации: для эксплуатации достаточно одного сетевого запроса.
Подробности
Уязвимы версии HTTP::Server::PSGI ниже 1.0056. Механизм проблемы описан в самой записи CVE: тело запроса читается вызовами sysread(), размер которых определяется оставшимся значением Content-Length. Perl выделяет буфер чтения под заявленную длину ещё до поступления данных, поэтому сервер пытается зарезервировать столько памяти, сколько объявил клиент.
Удалённый атакующий может отправить один запрос с большим Content-Length и всего несколькими байтами тела — и интерпретатор Perl завершится с ошибкой out-of-memory ещё до того, как управление будет передано приложению. Дополнительный усугубляющий фактор: HTTP::Server::PSGI работает в одном процессе, поэтому после сбоя сервер не восстанавливается автоматически и простаивает вплоть до перезапуска.
В записи CVE оценка CVSS не приводится, однако характер уязвимости — удалённая эксплуатация без аутентификации при полной потере доступности сервиса — позволяет отнести её к высокому уровню риска. Особенно опасна она для публично доступных инсталляций.
Что делать
Основная рекомендация — обновить HTTP::Server::PSGI до версии 1.0056 или более поздней, где проблема устранена. Если немедленное обновление невозможно, стоит рассмотреть следующие митигации:
- ограничить максимально допустимый размер тела запроса и значение
Content-Lengthна уровне обратного прокси (nginx, HAProxy и т. п.), отсекая аномально большие значения до попадания запроса на Perl-сервер; - обеспечить автоматический перезапуск процесса сервера (systemd, supervisor, контейнерный оркестратор) на случай сбоя;
- по возможности не публиковать сервис напрямую в интернет, ограничив доступ доверенными сетями.
Также имеет смысл проверить, не используется ли уязвимый модуль транзитивно — как зависимость других Perl-приложений.
Уязвимость CVE-2026-115825 напоминает о том, что даже компактные серверные библиотеки требуют внимания к обработке недоверенных входных данных: заявленный клиентом размер не должен напрямую определять объём выделяемой памяти. Обновление до HTTP::Server::PSGI 1.0056 и ограничения на уровне прокси закрывают вектор атаки и снижают риск простоя сервиса.
Источник: CVE Project (cvelistV5)
