CVE-2026-4867 in path-to-regexp
Riassunto
di VulDB • 18/06/2026
Impatto:
Viene generata un'espressione regolare difettosa ogni volta che si dispongono tre o più parametri all'interno di un singolo segmento, separati da un carattere diverso dal punto (.). Ad esempio, /:a-:b-:c oppure /:a-:b-:c-:d. La protezione contro il backtracking aggiunta in [email protected] previene l'ambiguità solo per due parametri. Con tre o più parametri, l'lookahead generato non blocca i singoli caratteri separatore, causando la sovrapposizione dei gruppi di cattura e provocando un backtracking catastrofico.
Patch:
Effettuare l'aggiornamento a [email protected].
I pattern di espressione regolare personalizzati nelle definizioni di route (ad esempio, /:a-:b([^-/]+)-:c([^-/]+)) non sono interessati, poiché sovrascrivono il gruppo di cattura predefinito.
Soluzioni alternative (Workarounds):
Tutte le versioni possono essere patchate fornendo un'espressione regolare personalizzata per i parametri successivi al primo in un singolo segmento. Finché l'espressione regolare personalizzata non corrisponde al testo precedente al parametro, la situazione sarà sicura. Ad esempio, modificare /:a-:b-:c in /:a-:b([^-/]+)-:c([^-/]+).
Se i percorsi non possono essere riscritti e le versioni non possono essere aggiornate, un'altra alternativa consiste nel limitare la lunghezza dell'URL.
If you want to get best quality of vulnerability data, you may have to visit VulDB.