path-to-regexp - CVE-2026-4867

Date de publication :

Il s'agit d'une vulnérabilité de type ReDoS dans la bibliothèque path-to-regexp.

path-to-regexp est une bibliothèque JavaScript de conversion de chemins URL en expressions régulières, utilisée notamment par Express.js.

Lorsqu'un segment de route contient trois paramètres ou plus séparés par un caractère autre qu'un point, la protection anti-backtracking introduite en version 0.1.12 s'avère insuffisante. Le lookahead généré ne bloque pas les séparateurs simples, ce qui provoque un backtracking catastrophique lors de l'évaluation de l'expression régulière. JavaScript étant monothread, ce traitement bloque la boucle d'événements.

Elle permet de provoquer un déni de service à distance.

Informations

La faille est activement exploitée : Non

Un correctif existe : Oui

Une mesure de contournement existe : Oui

Risques

Déni de service (à distance)

Exploitation

La vulnérabilité exploitée est du type
CWE-1333 : Inefficient Regular Expression Complexity

Détails sur l'exploitation
•   Vecteur d'attaque : Réseau
•   Complexité de l'attaque : Faible
•   Privilèges nécessaires pour réaliser l'attaque : Aucun
•   Interaction d'un utilisateur ayant accès au produit est-elle nécessaire : Non
•   L'exploitation de la faille permet d'obtenir des droits privilégiés : Non

Preuve de concept
Une preuve de concept est disponible en sources ouvertes.

Systèmes ou composants affectés

path-to-regexp versions antérieures à 0.1.13

Contournement provisoire

Fournir une expression régulière personnalisée pour les paramètres après le premier dans un segment, par exemple remplacer /:a-:b-:c par /:a-:b([^-/]+)-:c([^-/]+). Limiter la longueur des URLs en alternative.

Solutions ou recommandations

path-to-regexp version 0.1.13 et supérieures.