Lỗ hổng CVE CVE-2026-42945 là một heap buffer overflow nghiêm trọng trong mã nguồn NGINX, tồn tại từ năm 2008 và đã được công bố công khai cùng một proof-of-concept exploit hoạt động. Lỗ hổng CVE này có thể dẫn đến remote code execution không cần xác thực trên máy chủ web NGINX.
Lỗ hổng CVE-2026-42945 trong ngx_http_rewrite_module
Lỗ hổng CVE-2026-42945 được gán điểm CVSS 9.2 và nằm trong ngx_http_rewrite_module của NGINX. Thành phần này xử lý URL rewriting và variable assignment trong hầu hết triển khai NGINX hiện đại.
Theo phân tích kỹ thuật, bug này xuất hiện từ phiên bản 0.6.27 phát hành năm 2008, và không bị phát hiện trong suốt 18 năm trên các phiên bản đến 1.30.0. Đây là một cảnh báo CVE đáng chú ý đối với các hệ thống dùng NGINX làm reverse proxy, API gateway hoặc ingress controller.
Tham chiếu công khai có thể xem tại NVD.
Cơ chế khai thác lỗ hổng CVE
Lỗi được kích hoạt khi cấu hình sử dụng đồng thời hai directive rewrite và set. Đây là mẫu cấu hình phổ biến trong các hệ thống API gateway, vì vậy rủi ro bảo mật không chỉ nằm ở dịch vụ web thông thường mà còn ở các tầng trung gian xử lý request.
NGINX sử dụng một two-pass system trong script engine nội bộ. Pass đầu tiên tính toán độ dài bộ nhớ, pass thứ hai ghi dữ liệu vào buffer đã cấp phát. Lỗ hổng CVE phát sinh từ sự không đồng bộ trạng thái giữa hai pass này.
Nguyên nhân kỹ thuật
Khi một directive rewrite chứa ký tự ?, trạng thái is_args = 1 được thiết lập trên main script engine. Tuy nhiên, trong pass tính toán độ dài, một sub-engine đã được zero hóa được sử dụng, khiến is_args bị xem như bằng 0.
Kết quả là độ dài bộ nhớ được tính mà không tính đến việc escape URI. Trong pass sao chép, engine chính chạy với is_args = 1, làm hàm ngx_escape_uri mở rộng mỗi byte có thể escape từ 1 lên 3 byte. Điều này dẫn tới ghi vượt quá dung lượng buffer đã cấp phát và gây ra heap buffer overflow.
Ảnh hưởng hệ thống và khai thác RCE
Lỗ hổng CVE này có thể bị khai thác để đạt unauthenticated remote code execution. Các nhà nghiên cứu đã xây dựng thành công exploit trên các hệ thống có ASLR disabled.
Chuỗi khai thác sử dụng heap manipulation, fake cleanup structure spraying thông qua POST body, và kiến trúc đa tiến trình mang tính xác định của NGINX để đạt được thực thi mã ổn định và lặp lại. Một public PoC đã được công bố trên GitHub.
Điều kiện khai thác
- Cấu hình có đồng thời rewrite và set.
- Đích chạy phiên bản NGINX bị ảnh hưởng.
- Môi trường phù hợp để exploit điều khiển heap.
- Trong một số trường hợp, ASLR disabled giúp tăng độ tin cậy của khai thác.
Phạm vi ảnh hưởng của lỗ hổng CVE
Lỗ hổng CVE-2026-42945 ảnh hưởng đến nhiều sản phẩm của F5/NGINX, bao gồm NGINX Open Source 0.6.27–1.30.0, NGINX Plus R32–R36, NGINX Instance Manager, NGINX App Protect WAF, NGINX Gateway Fabric và NGINX Ingress Controller.
Điều này khiến bề mặt tấn công mở rộng từ hệ thống web đơn lẻ sang các thành phần hạ tầng phục vụ lưu lượng ứng dụng. Với các môi trường triển khai lớn, phát hiện xâm nhập cần tập trung vào các cấu hình có kết hợp directive dễ kích hoạt lỗi.
IOC và dấu hiệu cần theo dõi
Do nội dung gốc không cung cấp IOC dạng IP, hash hay domain, phần này chỉ trích xuất các dấu hiệu kỹ thuật liên quan đến khai thác lỗ hổng CVE.
- rewrite kết hợp với set trong cùng một cấu hình.
- Directive rewrite chứa ký tự ?.
- Hành vi POST body bất thường với dấu hiệu heap spraying.
- Lỗi truy cập bộ nhớ hoặc crash liên quan đến ngx_http_rewrite_module.
Khuyến nghị khắc phục
F5 đã phát hành security advisory chính thức vào ngày 13/05/2026. Biện pháp xử lý ưu tiên là cập nhật bản vá lên NGINX 1.30.1 hoặc 1.31.0 ngay khi có thể.
Thông báo chính thức từ hãng có thể xem tại F5 Security Advisory.
Với các tổ chức chưa thể vá ngay, cần rà soát toàn bộ cấu hình để tìm các trường hợp kết hợp rewrite + set và cân nhắc đặt các triển khai NGINX sau một lớp WAF bổ sung cho đến khi hoàn tất cập nhật bản vá.
Kiểm tra cấu hình
grep -RInE 'rewrite|set' /etc/nginx/
nginx -t
Nếu hệ thống sử dụng nhiều file cấu hình, cần kiểm tra cả các fragment được include từ ứng dụng, ingress controller hoặc cấu hình động. Đây là bước quan trọng để giảm nguy cơ bảo mật từ các lỗ hổng CVE có thể bị khai thác từ xa.
Ghi nhận kỹ thuật về khai thác
Trong quá trình audit mã nguồn tháng 04/2026, nhóm nghiên cứu đã phát hiện tự động lỗ hổng CVE này cùng ba lỗi memory corruption khác. Điểm đáng chú ý là exploit công khai đã chứng minh khả năng đạt RCE trong điều kiện phù hợp, làm tăng mức độ khẩn cấp của cập nhật bản vá.
Với các hệ thống đang phục vụ lưu lượng internet, việc theo dõi tin bảo mật mới nhất và thực hiện bản vá bảo mật cần được ưu tiên để giảm thiểu tấn công mạng khai thác lỗi thực thi bộ nhớ trong NGINX.










