
NGINX vá 5 lỗ hổng, bao gồm RCE tiềm năng và lỗi TLS bỏ qua xác thực client
"NGINX released versions 1.30.6 and 1.31.7 to address five vulnerabilities, including potential RCE (CVE-2026-15176, CVE-2026-93479, CVE-2026-97205) and a TLS flaw (CVE-2026-97629) that could bypass client certificate checks. Exploitation of these vulnerabilities generally requires specific configurations. Updates are recommended to mitigate the risks."
Các lỗ hổng này, đặc biệt là lỗ hổng TLS, có thể dẫn đến mất an toàn dữ liệu và bỏ qua xác thực. Việc khai thác thành công có thể cho phép kẻ tấn công truy cập trái phép vào hệ thống.
Các doanh nghiệp sử dụng NGINX có thể gặp gián đoạn dịch vụ do crash hoặc mất lòng tin của khách hàng nếu hệ thống bị tấn công. Việc khắc phục các lỗ hổng này đòi hỏi tài nguyên kỹ thuật và có thể gây ra thời gian ngừng hoạt động.
NGINX phát hành phiên bản 1.30.6 và 1.31.7 ngày 14 tháng 10 để khắc phục 5 lỗ hổng, một trong số đó tồn tại từ tháng 5 năm 2005.
Ba lỗ hổng liên quan đến bộ nhớ có thể khiến worker process bị treo hoặc cho phép kẻ tấn công thực thi mã, nhưng cần cấu hình cụ thể để khai thác. Một lỗ hổng khác cho phép kẻ tấn công tạo phiên TLS giả mạo, có thể bỏ qua kiểm tra chứng chỉ client. Lỗ hổng thứ năm cho phép client HTTP/3 chèn thêm byte vào request mà NGINX chuyển tiếp đến backend.
Tính đến ngày 15 tháng 10, CISA chưa đưa các lỗ hổng này vào danh mục Known Exploited Vulnerabilities, và NGINX cũng như F5 chưa ghi nhận các cuộc tấn công thực tế. NGINX đánh giá tất cả 5 lỗ hổng ở mức trung bình. F5 chấm điểm 3 lỗ hổng bộ nhớ là 9.2 (Critical) trên thang CVSS v4.0, lỗ hổng TLS là 8.3, và lỗ hổng HTTP/3 là 6.9.
Cấu hình dễ bị ảnh hưởng bao gồm alias với rewrite, regex map, AIO với SSI, shared TLS session cache, hoặc HTTP/3. NGINX khuyến nghị sử dụng shared session cache và request buffering; các điều kiện khác cho lỗ hổng HTTP/3 được bật theo mặc định.
Lỗ hổng TLS liên quan đến việc tự động xoay khóa session ticket. Session ticket cho phép client tiếp tục phiên TLS mà không cần bắt tay đầy đủ. Từ phiên bản 1.23.2 (tháng 10 năm 2022), NGINX tự động tạo và xoay khóa ticket nếu không tải khóa từ file. Mỗi worker process giữ một bản sao của ba slot khóa. Việc xoay chỉ sao chép hai slot, để slot thứ ba chứa dữ liệu trong bộ nhớ trước đó. Một ticket sử dụng slot này có thể được xác minh và giải mã bằng khóa chưa được khởi tạo, tạo ra một phiên giả mạo. F5 cho rằng việc giả mạo này diễn ra một cách không xác định và nằm ngoài tầm kiểm soát của kẻ tấn công, nhưng có thể bỏ qua xác thực chứng chỉ client. Cấu hình dễ bị ảnh hưởng là ssl_session_cache shared:SSL:10m, được sử dụng trong tài liệu của NGINX. NGINX đã khắc phục một lỗ hổng tái sử dụng phiên với hậu quả tương tự (CVE-2025-23419) vào tháng 2 năm 2025.
Bảng sau đây tóm tắt các lỗ hổng, điều kiện khai thác và cách khắc phục:
| Lỗ hổng | Cho phép | Cấu hình dễ bị ảnh hưởng | Phiên bản bị ảnh hưởng | Khắc phục (F5) |
|---|---|---|---|---|
| CVE-2026-15176 | Heap overflow, crash, có thể thực thi mã | alias với rewrite, đọc $request_filename | 0.1.29 - 1.31.6 | Không sử dụng alias hoặc $request_filename |
| CVE-2026-93479 | Heap overflow, crash, có thể thực thi mã | Regex map với captures được tham chiếu bởi root hoặc log_format | 1.30.0 - 1.30.5, 1.31.2 - 1.31.6 | Sử dụng named captures trong block regex match |
| CVE-2026-97205 | Use-after-free, crash, memory corruption, có thể thực thi mã | aio bật và SSI page với include virtual | 0.8.11 - 1.31.6 | Tắt aio hoặc không phục vụ SSI pages |
| CVE-2026-95101 | Tiêm byte vào request được proxy, vượt quá client_max_body_size | HTTP/3 với proxy_request_buffering on | 1.25.0 - 1.31.6 | Tắt proxy_request_buffering |
| CVE-2026-97629 | Tạo phiên TLS giả mạo, bỏ qua xác thực client | ssl_session_cache shared:... không có ssl_session_ticket_key | 1.23.2 - 1.31.6 | Loại bỏ shared cache hoặc tải khóa từ file với ssl_session_ticket_key |
Lỗ hổng regex map (CVE-2026-93479) liên quan đến mã xử lý chuỗi đã được vá vào tháng 7 cho CVE-2026-42533. Thay đổi trong bản phát hành tháng 7 đã tạo ra lỗ hổng mới này. Bản vá tháng 7 đã ngăn chặn tràn bộ nhớ, nhưng dữ liệu vẫn có thể tràn vào vùng bộ nhớ dành riêng. Bản vá thứ hai sau đó tính toán kích thước chuỗi cuối cùng từ vùng tràn này, dẫn đến tràn bộ nhớ. Bản vá hiện tại giới hạn kích thước tràn. F5 cảnh báo rằng việc chuyển sang named captures chỉ thu hẹp đường tấn công, và nâng cấp là giải pháp duy nhất.
Câu hỏi thường gặp
Các phiên bản NGINX nào bị ảnh hưởng?
Các phiên bản NGINX từ 0.8.11 đến 1.31.6 đều bị ảnh hưởng bởi ít nhất một trong năm lỗ hổng này. NGINX khuyến nghị nâng cấp lên phiên bản 1.30.6 hoặc 1.31.7.
Lỗ hổng CVE-2026-97629 hoạt động như thế nào?
Lỗ hổng này liên quan đến việc xoay khóa session ticket trong TLS. Nếu cấu hình không đúng, kẻ tấn công có thể tạo một phiên TLS giả mạo và bỏ qua kiểm tra chứng chỉ client.
Tôi có thể làm gì để giảm thiểu rủi ro nếu không thể nâng cấp ngay lập tức?
F5 cung cấp các giải pháp tạm thời cho từng lỗ hổng, chẳng hạn như tắt các tính năng dễ bị ảnh hưởng hoặc thay đổi cấu hình. Xem bảng trong nội dung bài viết để biết chi tiết.
Góc nhìn của Orange Cloud
Theo chúng tôi, các lỗ hổng này ảnh hưởng đến các doanh nghiệp Việt Nam sử dụng NGINX làm reverse proxy hoặc load balancer. Việc nâng cấp lên phiên bản mới nhất là cần thiết để giảm thiểu rủi ro. Điều đáng chú ý là lỗ hổng TLS có thể bỏ qua xác thực client, điều này có thể gây ra vấn đề bảo mật nghiêm trọng nếu hệ thống của bạn dựa vào xác thực client.