Lỗ hổng tồn tại suốt 18 năm trong NGINX cho phép thực thi mã từ xa không cần xác thực

WhiteHat Team

Administrators
Thành viên BQT
09/04/2020
140
1.893 bài viết
Lỗ hổng tồn tại suốt 18 năm trong NGINX cho phép thực thi mã từ xa không cần xác thực
Một phát hiện mới đang khiến giới bảo mật đặc biệt chú ý: một lỗ hổng có khả năng thực thi mã từ xa trong NGINX đã tồn tại âm thầm gần 18 năm, ẩn ngay trong module Rewrite của nền tảng web server được sử dụng rộng rãi nhất thế giới. Lỗ hổng này cho phép kẻ tấn công kích hoạt từ xa chỉ bằng một request HTTP được thiết kế đặc biệt, không cần bất kỳ bước xác thực nào.
NGINX.png

Lỗ hổng có mã CVE-2026-42945, được nhóm nghiên cứu depthfirst đặt tên là “NGINX Rift”, ảnh hưởng tới module ngx_http_rewrite_module của NGINX Open Source và NGINX Plus. Với điểm CVSS v4 lên tới 9.2, đây được đánh giá là một trong những lỗi nghiêm trọng nhất từng xuất hiện trên nền tảng này.

Theo thông tin từ F5, CVE-2026-42945 xuất phát từ lỗi tràn bộ đệm heap trong quá trình xử lý directive rewrite. Điều kiện khai thác xảy ra khi cấu hình sử dụng các unnamed PCRE capture như $1, $2 đi kèm chuỗi thay thế chứa ký tự dấu hỏi ?.

Ở điều kiện khai thác thực tế, kẻ tấn công có thể lợi dụng một URI được thiết kế đặc biệt để khiến NGINX ghi dữ liệu vượt quá giới hạn bộ nhớ của tiến trình worker. Điểm đáng lo ngại nằm ở chỗ dữ liệu tràn không phải ngẫu nhiên, mà có thể được điều khiển thông qua chính nội dung URI do attacker kiểm soát, làm tăng độ chính xác và tính lặp lại của quá trình khai thác. Nhóm nghiên cứu depthfirst cho biết lỗ hổng có thể bị khai thác hoàn toàn từ xa mà không cần tài khoản, phiên đăng nhập hay bất kỳ quyền truy cập nào trước đó.

“Chỉ một request HTTP duy nhất cũng có thể kích hoạt heap overflow và dẫn tới thực thi mã từ xa trên tiến trình worker của NGINX”, nhóm nghiên cứu cảnh báo.

Trong nhiều trường hợp, lỗ hổng có thể khiến tiến trình worker liên tục bị crash và khởi động lại, tạo thành vòng lặp từ chối dịch vụ kéo dài đối với toàn bộ website chạy trên máy chủ bị ảnh hưởng. Nếu hệ thống vô hiệu hóa cơ chế ASLR (Address Space Layout Randomization), khả năng đạt được thực thi mã từ xa sẽ tăng lên đáng kể.

Điều đáng chú ý là lỗi này đã âm thầm tồn tại trong mã nguồn NGINX suốt khoảng 18 năm trước khi được phát hiện. Đây là khoảng thời gian đặc biệt đáng lo ngại khi NGINX hiện được sử dụng rộng rãi trong hạ tầng web, reverse proxy, load balancer, API gateway và môi trường cloud-native trên toàn cầu.

F5 cho biết các phiên bản bị ảnh hưởng bao gồm NGINX Open Source từ 1.0.0 tới 1.30.0 cùng nhiều phiên bản NGINX Plus và các sản phẩm liên quan như NGINX Ingress Controller, NGINX Gateway Fabric, NGINX App Protect WAF và F5 DoS for NGINX. Bản vá đã được phát hành trong NGINX Open Source 1.30.1 và 1.31.0, đồng thời các phiên bản vá tương ứng cũng được cung cấp cho NGINX Plus.

Ngoài “NGINX Rift”, F5 còn xử lý thêm ba lỗ hổng khác:​
  • CVE-2026-42946: lỗi cấp phát bộ nhớ quá mức trong ngx_http_scgi_module và ngx_http_uwsgi_module, có thể dẫn tới đọc bộ nhớ hoặc crash worker process.​
  • CVE-2026-40701: lỗi use-after-free trong ngx_http_ssl_module, ảnh hưởng tới các hệ thống bật ssl_verify_client và ssl_ocsp.​
  • CVE-2026-42934: lỗi out-of-bounds read trong ngx_http_charset_module, có thể làm rò rỉ dữ liệu bộ nhớ.​
Hãng khuyến cáo các quản trị viên cần cập nhật lên phiên bản mới nhất để giảm thiểu nguy cơ bị khai thác. Trong trường hợp chưa thể vá ngay, nên rà soát toàn bộ rule rewrite và thay thế unnamed capture ($1, $2) bằng named capture nhằm giảm rủi ro tấn công.​
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Thẻ
cve-2026-42945 cvss v4 9.2 heap buffer overflow http request độc hại không xác thực nginx nginx rift ngx_http_rewrite_module rce thực thi mã từ xa
Bên trên