CVE-2026-14741

HTTP::Date versions before 6.08 for Perl allow CPU exhaustion via polynomial regex backtracking in parse_date. parse_date() matches the date string against a chain of alternative regexes, and str2time() delegates to it. Several of these patterns place unbounded quantifiers next to each other before a trailing `\s*$` anchor. A valid date prefix followed by a long interior run of digits, letters, or whitespace and a single trailing byte that defeats the final match forces the engine to repartition the run, giving polynomial (about quadratic) backtracking. A header value of a few tens of kilobytes runs for tens of seconds of CPU. HTTP::Date parses timestamps such as HTTP `Date`, `Expires`, and `Last-Modified` headers, which commonly originate from untrusted sources. Any caller that passes an untrusted date header to str2time() or parse_date() can be driven to consume unbounded CPU, a denial of service.
Configurations

No configuration.

History

24 Oct 2026, 20:10

Type Values Removed Values Added
Summary
  • (es) Las versiones de HTTP::Date anteriores a la 6.08 para Perl permiten el agotamiento de la CPU a través de retroceso de expresiones regulares polinómico en parse_date. parse_date() compara la cadena de fecha con una cadena de expresiones regulares alternativas, y str2time() le delega. Varios de estos patrones colocan cuantificadores ilimitados uno al lado del otro antes de un ancla final ’\s$’. Un prefijo de fecha válido seguido de una larga secuencia interna de dígitos, letras o espacios en blanco y un único byte final que anula la coincidencia final obliga al motor a reparticionar la secuencia, lo que produce un retroceso polinómico (aproximadamente cuadrático). Un valor de encabezado de unas pocas decenas de kilobytes se ejecuta durante decenas de segundos de CPU. HTTP::Date analiza marcas de tiempo como los encabezados HTTP ’Date’, ’Expires’ y ’Last-Modified’, que comúnmente se originan de fuentes no confiables. Cualquier llamador que pase un encabezado de fecha no confiable a str2time() o parse_date() puede ser llevado a consumir CPU ilimitada, una denegación de servicio.

Information

Published : 2026-07-17 16:17

Updated : 2026-10-24 20:10


NVD link : CVE-2026-14741

Mitre link : CVE-2026-14741

CVE.ORG link : CVE-2026-14741


JSON object : View

Products Affected

No product.

CWE
CWE-1333

Inefficient Regular Expression Complexity