Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en path-to-regexp (CVE-2026-4867)

Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
26/03/2026
Última modificación:
16/04/2026

Descripción

Impacto:<br /> <br /> Se genera una expresión regular incorrecta cada vez que se tienen tres o más parámetros dentro de un único segmento, separados por algo que no sea un punto (.). Por ejemplo, /:a-:b-:c o /:a-:b-:c-:d. La protección contra retroceso añadida en path-to-regexp@0.1.12 solo previene la ambigüedad para dos parámetros. Con tres o más, el &amp;#39;lookahead&amp;#39; generado no bloquea los caracteres separadores individuales, por lo que los grupos de captura se superponen y causan un retroceso catastrófico.<br /> <br /> Parches:<br /> <br /> Actualizar a path-to-regexp@0.1.13<br /> <br /> Los patrones de expresiones regulares personalizados en las definiciones de ruta (por ejemplo, /:a-:b([^-/]+)-:c([^-/]+)) no se ven afectados porque anulan el grupo de captura predeterminado.<br /> <br /> Soluciones provisionales:<br /> <br /> Todas las versiones pueden ser parcheadas proporcionando una expresión regular personalizada para los parámetros después del primero en un único segmento. Siempre y cuando la expresión regular personalizada no coincida con el texto anterior al parámetro, estará seguro. Por ejemplo, cambie /:a-:b-:c a /:a-:b([^-/]+)-:c([^-/]+).<br /> <br /> Si las rutas no pueden ser reescritas y las versiones no pueden ser actualizadas, otra alternativa es limitar la longitud de la URL.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:pillarjs:path-to-regexp:*:*:*:*:*:node.js:*:* 0.1.13 (excluyendo)