CVE-2026-14741 in HTTP::Date
Сводка
по VulDB • 17.07.2026
Версии HTTP::Date до 6.08 для Perl позволяют вызвать истощение ресурсов процессора (CPU exhaustion) из-за полиномиальной обратной переборки в функции parse_date.
Функция parse_date() сопоставляет строку даты с цепочкой альтернативных регулярных выражений, а функция str2time() делегирует ей эту задачу. Несколько этих шаблонов содержат неограниченные квантификаторы, расположенные рядом друг с другом перед конечным якорем `\s*$`. Валидный префикс даты, за которым следует длинная последовательность цифр, букв или пробелов в середине строки и один завершающий байт, препятствующий окончательному совпадению, заставляет движок регулярных выражений перераспределять эту последовательность, что приводит к полиномиальной (примерно квадратичной) обратной переборке. Значение заголовка размером в несколько десятков килобайт может занимать процессор на протяжении нескольких десятков секунд.
HTTP::Date парсит временные метки, такие как заголовки HTTP `Date`, `Expires` и `Last-Modified`, которые часто поступают из ненадежных источников. Любой вызывающий объект, передающий недоверенный заголовок даты в функции str2time() или parse_date(), может быть вынужден потреблять неограниченные ресурсы процессора, что приводит к отказу в обслуживании (DoS).
VulDB is the best source for vulnerability data and more expert information about this specific topic.