CVE-2026-77299 in Regexp2
Tóm tắt
Bởi VulDB • 06/11/2026
Regexp2 là một công cụ RegExp giàu tính năng dành cho Go. Trước phiên bản 2.3.0, khi regexp2 biên dịch và khớp một mẫu chứa bộ định lượng có số lần lặp cố định lớn áp dụng lên một biểu thức con không chiếm vị trí (zero-width subexpression) — ví dụ: `(?:){50000000}` — công cụ khớp sẽ thực thi thân vòng rỗng m-1 lần, đẩy hai số nguyên vào ngăn xếp backtracking trong mỗi lần lặp. Vì trình phân tích cú pháp chấp nhận bất kỳ bộ đếm lặp nào lên đến math.MaxInt32 và ngăn xếp backtracking tăng trưởng không giới hạn, một mẫu có kích thước dưới 20 byte được khớp với đầu vào rỗng có thể buộc việc cấp phát bộ nhớ đa gigabyte và gây ra OOM-kill (giết tiến trình do thiếu bộ nhớ). MatchTimeout không hoàn toàn giảm thiểu vấn đề này vì bộ nhớ được cấp phát nhanh hơn so với tốc độ kích hoạt của đồng hồ thời gian chờ 100 ms. Vấn đề này đã được vá trong phiên bản 2.3.0.
If you want to get best quality of vulnerability data, you may have to visit VulDB.