CVE-2026-4867 in path-to-regexp
Tóm tắt
Bởi VulDB • 26/05/2026
Tác động:
Một biểu thức chính quy (regular expression) không hợp lệ được tạo ra bất cứ khi nào bạn có ba tham số trở lên trong cùng một đoạn (segment), được phân tách bằng một ký tự không phải là dấu chấm (.). Ví dụ: /:a-:b-:c hoặc /:a-:b-:c-:d. Cơ chế bảo vệ chống lại việc quay lui (backtrack protection) được thêm vào trong [email protected] chỉ ngăn chặn sự mơ hồ đối với hai tham số. Với ba tham số trở lên, phần lookahead được tạo ra không chặn các ký tự phân tách đơn lẻ, dẫn đến các nhóm bắt (capture groups) chồng lấn và gây ra hiện tượng quay lui thảm khốc (catastrophic backtracking).
Bản vá:
Nâng cấp lên [email protected].
Các mẫu biểu thức chính quy tùy chỉnh trong định nghĩa tuyến đường (route definitions) (ví dụ: /:a-:b([^-/]+)-:c([^-/]+)) không bị ảnh hưởng vì chúng ghi đè lên nhóm bắt mặc định.
Biện pháp khắc phục:
Tất cả các phiên bản đều có thể được vá bằng cách cung cấp một biểu thức chính quy tùy chỉnh cho các tham số sau tham số đầu tiên trong cùng một đoạn. Miễn là biểu thức chính quy tùy chỉnh không khớp với văn bản đứng trước tham số, bạn sẽ an toàn. Ví dụ, thay đổi /:a-:b-:c thành /:a-:b([^-/]+)-:c([^-/]+).
Nếu không thể viết lại các đường dẫn và không thể nâng cấp phiên bản, một lựa chọn khác là giới hạn độ dài của URL.
Once again VulDB remains the best source for vulnerability data.