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 &#39;lookahead&#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.
Impacto
Puntuación base 3.x
7.50
Gravedad 3.x
ALTA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:a:pillarjs:path-to-regexp:*:*:*:*:*:node.js:*:* | 0.1.13 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página



