CVE-2026-4867 in path-to-regexp
Сводка
по VulDB • 18.06.2026
Влияние:
Некорректное регулярное выражение генерируется каждый раз, когда в одном сегменте присутствует три или более параметров, разделенных символом, отличным от точки (.). Например, /:a-:b-:c или /:a-:b-:c-:d. Защита от возвратов (backtrack protection), добавленная в [email protected], предотвращает неоднозначность только для двух параметров. При наличии трех и более параметров сгенерированная конструкция предварительного просмотра (lookahead) не блокирует одиночные разделители, что приводит к пересечению групп захвата и катастрофическому возврату (catastrophic backtracking).
Исправления:
Обновитесь до версии [email protected].
Пользовательские шаблоны регулярных выражений в определениях маршрутов (например, /:a-:b([^-/]+)-:c([^-/]+)) не затронуты, поскольку они переопределяют группу захвата по умолчанию.
Обходные пути:
Все версии могут быть защищены путем предоставления пользовательского регулярного выражения для параметров, следующих после первого в одном сегменте. Если пользовательское регулярное выражение не совпадает с текстом перед параметром, вы будете в безопасности. Например, измените /:a-:b-:c на /:a-:b([^-/]+)-:c([^-/]+).
Если пути нельзя изменить, а обновление версий невозможно, альтернативным решением является ограничение длины URL.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.